多值参数:有时,Python函数接收的参数是不确定的,可以利用多值参数进行传参
代码示例:
def sum_num(*args):
num = 0
for i in args:
num += i
sum_num(1,2,3)
上面代码,可以任意传递多个整数参数
参数的拆包
在实际开发中,如果想将一个元组直接传开args,字典传给kwargs,就需要将参数拆包,具体demo如下
def demo(*args,**kwargs):
print(args)
print(kwargs)
gl_nums = (1,2,3)
gl_dicts = {"name":"tom","age":"14"}
demo(*gl_nums,**gl_dicts)
缺省参数:
定义一个函数就,可以给某一个参数指定一个默认值,具有默认值的参数就是缺省参数,在调用函数时,如果没有指定缺省参数的值,则在函数内部使用定义函数时指定的参数默认值。代码示例
def demo(name,gender=True):
student_gender = "男生"
if not gender:
student_gender = "女生"
print("%s is %s" %(name,student_gender))
demo("tom")
demo("lili",False)
上面代码,如果不指定性别,则默认为男生,如果指定,则认为是女生
注意:具有缺省参数的参数值应放在参数默认,不然会引起混乱,如果具有多个缺省参数,某一个不想使用默认值,应该在传参时指定参数名,demo如下
def demo(name="xiaoming",age="16",gender=True):
student_gender = "男生"
if not gender:
student_gender = "女生"
print("%s is %s,age is %s" %(name,student_gender,age))
demo("tom",gender=False)