python函数参数传递的两种方式_Python函数的参数传递方式

Python函数的参数传递方式

一、普通

def add(a,b):

return a+b

print(add(1,2))

#输出结果:3

二、可选参数

def myjoin(string,sep='_'):#此处sep的缺省参数为"_"

return sep.join(string)

print(myjoin(TTTT))

#输出结果:T_T_T_T

print(myjoin(TTTT,"="))

#输出结果:T=T=T=T

注意:如果一个参数是可选参数,那么它后面所有的参数都应该是可选的,因此要把必段参数放在可选参数之前。另外可选参数的顺序颠倒依然可以正确的给对应的参数赋值,但必须清楚的指明变量名和值

def myrange(stop,start=0,step=1):

print(stop,start,step)

myrange("a",step=10,start=100)

#输出结果:a,100,10

三、个数可变参数

def printffff(fmt,*arg):

print(fmt%arg)

printffff('%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 printff(format,**keyword):

for k in keyword.keys():

print("keyword[%s] %s %s"%(k,format,keyword[k]))

printff('is',one=1,tow=2,three=3)

#输出结果:

keyword[three] is 3

keyword[tow] is 2

keyword[one] is 1

注:在定义或调用这种函数时,要遵循以下规则:

1. arg=必须在arg后

2. *arg必须在arg=后

3. **arg必须在*arg后

你可能感兴趣的:(python函数参数传递的两种方式_Python函数的参数传递方式)