今天就跟大家聊聊有关Python中怎么传递函数参数,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。
函数参数的使用又有俩个方面值得注意:
>>> def printpa(**a):
... print type(a)
... print a
...
>>> printpa(a=1,y=2)
<type 'dict'>
F(arg1,arg2,...)
{'a': 1, 'y': 2}
>>> printpa(a=1)
<type 'dict'>
{'a': 1}
>>> li=[1,2,3,4]
>>> printpa(b=li)
<type 'dict'>
{'b': [1, 2, 3, 4]}
>>> tu=(1,2,3)
>>> printpa(b=tu)
<type 'dict'>
{'b': (1, 2, 3)}
>>> printpa(1,2)
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
TypeError: printpa() takes exactly 0 arguments (2 given)
F(arg1,arg2=value2,...)
是最常见的定义方式,一个函数可以定义任意个参数,每个参数间用逗号分割,用这种方式定义的函数在调用的的时候也必须在函数名后的小括号里提供个数相等的值(实际参数),而且顺序必须相同,也就是说在这种调用方式中,形参和实参的个数必须一致,而且必须一一对应,也就是说***个形参对应这***个实参。例如:
def a(x,y): print x,y
调用该Python函数参数,a(1,2)则x取1,y取2,形参与实参相对应,如果a(1)或者a(1,2,3)则会报错。再看下面的例子:
>>> a=(1,2,3) >>> def printpa(a): ... print type(a) ... print a ... >>> printpa(a) <type 'tuple'> (1, 2, 3) >>> printpa(range(1,4)) <type 'list'> [1, 2, 3] >>> printpa({}) <type 'dict'> {} >>> def printpa(a,b,c): ... print a,b,c ... >>> printpa(a) Traceback (most recent call last): File "<stdin>", line 1, in <module> TypeError: printpa() takes exactly 3 arguments (1 given) >>> printpa(*a) 1 2 3 >>> a=[1,2,3] >>> printpa(*a) 1 2 3 >>> printpa(a) Traceback (most recent call last): File "<stdin>", line 1, in <module> TypeError: printpa() takes exactly 3 arguments (1 given) >>> a=[1,2,3,4] >>> printpa(*a) Traceback (most recent call last): File "<stdin>", line 1, in <module> TypeError: printpa() takes exactly 3 arguments (4 given) >>> printpa(*range(1,4)) 1 2 3
看完上述内容,你们对Python中怎么传递函数参数有进一步的了解吗?如果还想了解更多知识或者相关内容,请关注编程网行业资讯频道,感谢大家的支持。