Python中函数的参数传递
2011-05-27 23:35
447 查看
1.普通的参数传递
>>>defadd(a,b):
returna+b
>>>printadd(1,2)
3
>>>printadd('abc','123')
abc123
2.参数个数可选,参数有默认值的传递
>>>defmyjoin(string,sep='_'):
returnsep.join(string)
>>>myjoin('Test')
'T_e_s_t'
>>>myjoin('Test',';')
'T;e;s;t'
>>>defmyrange(start=0,stop,step=1):
printstop,start,step
SyntaxError:non-defaultargumentfollowsdefaultargument
参数sep的缺省值是'_'如果这个参数不给定值就会使用缺省值如果给定则使用给定的值
需要注意如果一个参数是可选参数那么它后面所有的参数都应该是可选的,另外可选参数的顺序颠倒依然可以正确的给对应的参数赋值但必须清楚的指明变量名和值
3.个数可变参数
>>>defprintf(fmt,*arg):
printfmt%arg
>>>printf('%dislargerthan%d',2,1)
2islargerthan1
函数中的*arg必须是最后一个参数,*表示任意多个参数,*arg会把除了前面以外所有的参数放到一个tuple里面传递给函数,可以在函数中通过arg来访问
arg是一个tuple,可以通过访问tuple的方法在函数中访问arg
另一种方式传递任意个数参数是通过dictionary的方式来传递同样也可以接受多个参数但是每个参数需要指明名称对应关系比如a=1,b=2,c=3
>>>defprintf(format,**keyword):
forkinkeyword.keys():
print"keyword[%s]%s%s"%(k,format,keyword[k])
>>>printf('is',one=1,tow=2,three=3)
keyword[three]is3
keyword[tow]is2
keyword[one]is1
这些方法可以混在一起用但是一定要注意顺序,函数会先接受固定参数,然后可选参数,然后任意参数(tuple),然后字典任意参数(dict)
2.参数个数可选,参数有默认值的传递
returnsep.join(string)
>>>myjoin('Test')
'T_e_s_t'
>>>myjoin('Test',';')
'T;e;s;t'
printstop,start,step
SyntaxError:non-defaultargumentfollowsdefaultargument
参数sep的缺省值是'_'如果这个参数不给定值就会使用缺省值如果给定则使用给定的值
需要注意如果一个参数是可选参数那么它后面所有的参数都应该是可选的,另外可选参数的顺序颠倒依然可以正确的给对应的参数赋值但必须清楚的指明变量名和值
3.个数可变参数
printfmt%arg
>>>printf('%dislargerthan%d',2,1)
2islargerthan1
函数中的*arg必须是最后一个参数,*表示任意多个参数,*arg会把除了前面以外所有的参数放到一个tuple里面传递给函数,可以在函数中通过arg来访问
arg是一个tuple,可以通过访问tuple的方法在函数中访问arg
另一种方式传递任意个数参数是通过dictionary的方式来传递同样也可以接受多个参数但是每个参数需要指明名称对应关系比如a=1,b=2,c=3
forkinkeyword.keys():
print"keyword[%s]%s%s"%(k,format,keyword[k])
>>>printf('is',one=1,tow=2,three=3)
keyword[three]is3
keyword[tow]is2
keyword[one]is1
这些方法可以混在一起用但是一定要注意顺序,函数会先接受固定参数,然后可选参数,然后任意参数(tuple),然后字典任意参数(dict)
相关文章推荐
- Python语言特性之1:函数参数传递
- Python学习之函数参数传递:传值 or 引用 ?
- Python3学习笔记05-字典、文件输入输出、模块、函数参数传递
- Python中函数的参数传递与可变长参数
- Python的函数参数传递
- Python的函数参数传递:传值?引用?
- Python语言中函数的参数传递机制
- 又遇到Python另外一个问题:函数作参数,怎么传递参数?
- python中的函数参数传递
- Python函数参数传递
- python函数参数是值传递还是引用传递(以及变量间复制后是否保持一致):取决于对象内容可变不可变
- python中函数参数的传递
- python 向函数传递多个参数
- 详解Python函数可变参数定义及其参数传递方式
- Python函数的参数传递(3)
- Python的函数参数传递:传值?引用?
- python进阶教程之函数参数的多种传递方法
- Python中函数的参数传递与可变长参数
- Python学习笔记7-把函数当参数传递、指定可变参数
- python函数之参数传递