您的位置:首页 > 编程语言 > Python开发

浅谈Python中函数的参数传递

2016-06-21 00:00 519 查看
1.普通的参数传递

>>> def add(a,b):
return a+b

>>> print add(1,2)
3
>>> print add('abc','123')
abc123


2.参数个数可选,参数有默认值的传递

>>> def myjoin(string,sep='_'):
return sep.join(string)

>>> myjoin('Test')
'T_e_s_t'
>>> myjoin('Test',';')
'T;e;s;t'
?
>>> def myrange(start=0,stop,step=1):
print stop,start,step

SyntaxError: non-default argument follows default argument


参数sep的缺省值是'_' 如果这个参数不给定值就会使用缺省值 如果给定 则使用给定的值
需要注意 如果一个参数是可选参数 那么它后面所有的参数都应该是可选的,另外 可选参数的顺序颠倒依然可以正确的给对应的参数赋值 但必须清楚的指明变量名和值

3.个数可变参数

>>> def printf(fmt,*arg):
print fmt%arg

>>> printf ('%d is larger than %d',2,1)
2 is larger than 1


函数中的*arg必须是最后一个参数,*表示任意多个参数,*arg会把除了前面以外所有的参数放到一个tuple里面传递给函数,可以在函数中通过arg来访问

arg是一个tuple,可以通过访问tuple的方法在函数中访问arg

另一种方式传递任意个数参数是通过dictionary的方式来传递 同样也可以接受多个参数 但是每个参数需要指明名称对应关系比如a=1,b=2,c=3

>>> def printf(format,**keyword):
for k in keyword.keys():
print "keyword[%s] %s %s"%(k,format,keyword[k])

>>> printf('is',one=1,tow=2,three=3)
keyword[three] is 3
keyword[tow] is 2
keyword[one] is 1


这些方法可以混在一起用 但是一定要注意顺序,函数会先接受固定参数,然后可选参数,然后任意参数(tuple),然后字典任意参数(dict)

以上这篇浅谈Python中函数的参数传递就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持脚本之家。

您可能感兴趣的文章:

Python函数中*args和**kwargs来传递变长参数的用法
Python中函数的参数传递与可变长参数介绍
Python函数可变参数定义及其参数传递方式实例详解
python进阶教程之函数参数的多种传递方法
Python def函数的定义、使用及参数传递实现代码
python下函数参数的传递(参数带星号的说明)
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  python 函数 参数 传递