43.缺省参数

函数参数(二)

<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))
原文地址:https://www.cnblogs.com/kangwenju/p/12831770.html