目录
在调用函数时,信息可以作为参数传递给函数,参数在函数名后的括号内指定。python有以下四种参数传递类型:
- 必需参数
- 关键字参数
- 默认参数
- 不定长参数
一、必须参数
必需参数须以正确的顺序传入函数,调用时的数量必须和声明时的一样。
def printme( str ):
print (str)
return
printme("Hello World!")
上述程序在调用printme()函数时必须传入一个字符串参数,负责程序在运行时会报错。
二、关键字参数
关键字参数在调用时通过关键字来确定传入的参数,并不需要一定保证参数的顺序和声明函数时的参数顺序一致。
def my_function(child3, child2, child1):
print("The youngest child is " + child3)
my_function(child1 = "Phoebe", child2 = "Jennifer", child3 = "Rory")
三、默认参数
默认参数是在函数声明时就给形参赋值,在调用函数时如果没有给参数传递值那么就默认使用声明时所赋的值。
def my_function(name,country = "China"):
print(name + "is from" + country)
my_function("张三")
my_function("张三","中国")
四、不定长参数
有时候可能需要一个函数能处理比当初声明时更多的参数,这些参数叫做不定长参数,基本语法如下:
加了星号 * 的参数会以元组(tuple)的形式导入,存放所有未命名的变量参数。
def printinfo( arg1, *vartuple ):
"打印任何传入的参数"
print ("输出: ")
print (arg1)
print (vartuple)
# 调用printinfo 函数
printinfo( 70, 60, 50 )
加了两个星号 ** 的参数会以字典的形式导入。
def printinfo( arg1, **vardict ):
"打印任何传入的参数"
print ("输出: ")
print (arg1)
print (vardict)
# 调用printinfo 函数
printinfo(1, a=2,b=3)