python面对对象编程中,星号*的作用

*作用于元组,目的是将元组里的内容参数一个一个传入到函数中:

my_tuple = ("wang","yuan","wai")

temp(*my_tuple)

#---等同于---#

temp("wangyuan","yuan","wai")

更一般的,我们遇到的是这种情况:要执行的参数除了以*开头的元组数据,还有普通的单个参数。

def print_str(first, *second):

    print(first)

    print(second)

这里第二个带星号的参数*second可以没有任何输入,也可以有多个输入,比如:

print_str("hello","美女","小猫","青蛙")

hello是第一个参数first,而后面的那些都会被转为一个元组数据当作第二个参数*second。输出结果如下:

输出结果

不直接传入具体参数,而是传入一个元组变量,使用*解包:

numbers_strings = ("1","2")

def print_str(first, second):

    print(first)

    print(second)

if __name__ == "__main__":

    print_str(*numbers_strings)

输出结果:

1

2

numbers_strings是个元组变量,需要在前面加一个星号*来解包,把它展开成一个一个的值,才符合上面提到的正确输入格式。也就是说,print_str(*numbers_strings) 等同于 print_str("1","2","3","4","5") 

如图
最后编辑于 :
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • Python从设计之初就是一门面向对象语言,它提供一些语言特性支持面向对象编程。创建对象是Python的核心概念,...
    泷汰泱阅读 473评论 0赞 0
  • python基础语法总结 参考:Python基础语法总结 参考:1.Python标识符 在 Python 里,标识...
    跟着大佬走阅读 571评论 0赞 0
  • 面向过程编程: 在多函数程序中,许多重要的数据被放置在全局数据区,这样它们可以被所有的函数访问。每个函数都可以具有...
    ALLIN5阅读 469评论 0赞 2
  • 一、列表推导式:用来创建列表 > 所谓的列表推导式,就是指的轻量级循环创建列表 格式:列表推导式的常见形式: my...
    MAVIS_42bf阅读 752评论 0赞 0
  • 1.列出 5 个常用 Python 标准库? python标准库就是安装python时默认自带的库,常用的标准库有...
    千里寻花阅读 300评论 0赞 0

友情链接更多精彩内容