函数参数(二)
<1>. 缺省参数
调用函数时,缺省参数的值如果没有传入,则取默认值。
下例会打印默认的age,如果age没有被传入:
def printinfo(name, age=35): # 打印任何传入的字符串 print("name: %s" % name) print("age %d" % age) # 调用printinfo函数 printinfo(name="miki") # 在函数执行过程中 age去默认值35 printinfo(age=9 ,name="miki")
以上实例输出结果:
name: miki age: 35 name: miki age: 9
总结:
- 在形参中默认有值的参数,称之为缺省参数
- 注意:带有默认值的参数一定要位于参数列表的最后面
>>> def printinfo(name, age=35, sex): ... print name ... File "<stdin>", line 1 SyntaxError: non-default argument follows default argument
例子:
# 需求: 利用函数打印每个人的名字和年龄 # (78人 年龄分布 61人(18岁) 17(19岁~35岁)) # 函数的定义 # 缺省参数: 在定义函数的时候 如果有形参 而且形参有默认值 我们就称为是缺省参数 # def print_info(name, age=18): # print("名字:%s, 年龄:%d" % (name, age)) # 函数的调用 # 如果在调用函数的时候 缺省参数的位置, 如果没有传入实参 那么会使用缺省参数的默认值 # print_info("小明") # 如果在调用函数的时候 缺省参数的位置 如果传入了对应的实参, 那么这个实参会把缺省参数的默认值进行覆盖 # print_info("小刚", 28) # 定义函数的如果有缺省的参数的注意点 # 如果一个函数有参数 而且有缺省参数 那么缺省参数后面的形参 必须也是缺省参数 def print_info(name, no, age=18): print("名字:%s, 年龄:%d" % (name, age))