前言;在进行调用函数之间传参时,难免会遇到各种参数形式,下来我们来看看Python中位置参数、关键字参数、默认参数和不定长参数(非固定参数)
函数调用时,根据形参的位置进行传递参数:
示例:
""" 位置参数;位置必须以一对应,缺一不可 """""#函数的定义defmy_n(name,age):print("我的姓名是:%s,我的年龄是:%d岁"%(name,age))#调用函数 my_n("小王",20)
位置参数:位置必须一一对应,缺一不可
关键字参数:只需要书写正确的形参名称
示例:
#定义函数defmy_nn(name,age):print("我的姓名是:%s,我的年龄是:%d岁"%(name,age))#函数调用 my_nn(name="小李",age=20) my_nn(age=20,name="小红")
运行结果:
注意:
错误示范:
缺省参数:形参给予一个数值,如果调用时候不再次进行赋值,那么调用的是默认值,否则是重新赋的值
格式:def 函数名(参数1,参数2=数值)
举例:
defmy_nnn(name,age=21):return name,ageprint(my_nnn("王"))print(my_nnn("小",20))
运行结果:
注意:
不定长参数(非固定参数):在不确定传入参数的数量时,会用到不定长参数,不定长参数又有两种,不定长参数元组 和 不定长参数字典:
顾名思义不定长参数元组是一个元组了,格式::def 函数名(*参数名):
*args 接收的是实参,位置参数,将其转化成元祖返回
举例:
#不定长参数元组;defret(*args):print(args)print(type(args))print(len(args)) ret(1,2,3,4,5,6,7,8,9)
结果:
格式:def 函数名(**参数名)
**kwargs 接收到的是实参,关键字参数,将其转化成字典
举例:
#不定长参数字典defdict(**kwargs):print(kwargs)print(type(kwargs))print(len(kwargs))print(kwargs["name"])dict(name="hello",age=20)
结果: