# 可变参数 + 关键字参数
# 关键字参数:key=value
def add(a, b=10): # a=10就是一个关键字参数
result = a + b
print(result)
# 调用
add(5)
add(5, 7) # a=5 b=7 此时7覆盖原来的默认值
def add(a, b=10, c=4):
result = a + b + c
print(result)
add(1)
add(1, 2)
add(1, 2, 3)
add(1, c=100) # 111
# 打印每位通同学的姓名和年龄
student = {'001': ('蔡徐坤', 20), '002': ('王源', 19), '003': ('王俊凯', 21)}
def print_boy(name, persons):
if isinstance(persons, dict):
for name, age in persons.values():
print('{}的年龄是{}'.format(name, age))
# 调用
print_boy('xx', student)
# 关键字参数的个数不确定
# **kwargs 说明:只要外部给函数传参,传的值必须是key=value
def func(**kwargs): # key word argument
print(kwargs)
func() # 无参{}空字典
func(a=1, b=2, c=3) # 关键字参数
# {'a': 1, 'b': 2, 'c': 3}
# 错误
dict1={'a':1,'b':2,'c':3}
# func(dict1)
# 正确传
func(**dict1)
'''
**dict1:给函数赋值的时候
递实参:**变量名
将字典进行:拆包
func(001=python,002=java,003=...)
'''
# {'a': 1, 'b': 2, 'c': 3}