目录
位置参数:
关键字参数:
默认值参数:
可变长度参数:
1.元组可变长度参数 :
2.字典可变长度参数:
附上练习代码:
位置参数:
实参与形参个数完全相同,按位置按顺序将实参传递给形参
def f(x, y):print(x, y)
f(2, 3)
2, 3
关键字参数:
在函数调用中使用关键字参数,是指通过形式参数的名称来指示为哪个形参传递什么值,这可以跳过某些参数或脱离参数的顺序
def f(x, y, z):print(x, y, z)f(y = 0, x = 1, z = 2)运行结果:
1, 0, 2
默认值参数:
默认值参数是指定义函数时,假设一个默认值, 如果不提供参数的值,则取默认值.
默认值参数必须出现在形参表的最右端。 即第一个形参使用默认值参数后,它后面(右侧) 的所有形参也必须使用默认值参数,否则会出错
def f(z, x=1, y=2):print(x, y, z)f(2, 3)
运行结果:
2, 3, 2
可变长度参数:
1.元组可变长度参数 :
元组可变长度参数在参数名前面加*,用来接受任 意多个实参并将其放在一个元组中。
所有其他类型的形式参数,必须放在可变长度参 数之前(左侧)。
def f(*x):print(x)f(1, 2, 3, 0.1)
运行结果:
(1, 2, 3, 0.1)
2.字典可变长度参数:
在函数的字典可变长度参数名前面加** ,该字典 参数即可接受任意多个实参.
实参关键字和实参值将组合成一组“关键字:值” 字典元素,该元素即为可变长度参数字典的元素.
所有其他类型的形式参数,必须放在可变长度参 数之前(左侧).
def f(**z):print(z)f(a=1, b=3)
运行结果:
{'a': 1, 'b': 3}
附上练习代码:
def f(x,y=4,z=5):print(x,y,z,sep=',')
def main():f(2,3)return
main()
#2,3,5def f(x=4,y,z=5):print(x,y,z,sep=',')
def main():f(2,3)return
main()
#出错def f(x=4,y,z=5):print(x,y,z,sep=',')
def main():f(y=2,x=3)return
main()
#出错def f(x,y=4,z=5):print(x,y,z,sep=',')
def main():f(y=2,x=3)return
main()
#3,2,5def f(x,y,*z):print(x,y,z,sep=',')
def main():f(2,3,4,5,6)return
main()
#2,3,(4, 5, 6)def f(x=6,y=7,*z,**t):print(x,y,z,t,sep=',')
def main():f(2,a=4,b=5)return
main()
#2,7,(),{'a': 4, 'b': 5}def f(x=6,y=7,*z):print(x,y,z,sep=',')
def main():x,*y,z=2,3,4,5f(x,y,z)return
main()
#2,[3, 4],(5,)def f(x=6,y=7,*z):print(x,y,z,sep=',')
def main():x,y,*z=2,3,4,5f(x,y,z)return
main()
#2,3,([4, 5],)def f(x=6,y=7,*z):print(x,y,z,sep=',')
def main():x,*y,z=2,3,4,5f(x,*y,z)print(x, y, z)return
main()
#2,3,(4, 5)
#2 [3, 4] 5def f(x,*y):m=x;for i in y:if(i>m):m=ireturn m
def main():z=f(3,4,2,5,6,8,6,7,1)print(z)return
main()
# 8