码迷,mamicode.com
首页 > 编程语言 > 详细

python 函数参数的传递(参数带星号的说明) 元组传递 字典传递

时间:2020-02-09 11:15:47      阅读:59      评论:0      收藏:0      [点我收藏+]

标签:mos   traceback   back   python   函数传参   line   形参   article   def   

python 函数参数的传递(参数带星号的说明) 元组传递 字典传递

*arg 代表的是arg元祖,**kwd代表的是kwd名称的字典。 

那函数传参数或是使用参数的时候,什么时候带*号什么时候不带*号呢?我这点总是理解不上来,或者说有点混乱。参考下面几个小函数,来理解下

>>> def a(*x):
print (x)

>>> def b(x):
print(x)


>>> def c(*x):
print(*x)


>>> x = (1,2,3)
>>> a(x)
((1, 2, 3),)
>>> a(*x)
(1, 2, 3)
>>> b(x)
(1, 2, 3)
>>> b(*x)
Traceback (most recent call last):
File "<pyshell#14>", line 1, in <module>
b(*x)
TypeError: b() takes 1 positional argument but 3 were given
>>> c(x)
(1, 2, 3)
>>> c(*x)
1 2 3

这样就清楚了。*arg就是要把形参名为arg的列表内容打散。 arg不带星,则表示为列表。

python 函数参数的传递(参数带星号的说明) 元组传递 字典传递

标签:mos   traceback   back   python   函数传参   line   形参   article   def   

原文地址:https://www.cnblogs.com/ppybear/p/12286257.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!