文章目录
关键字参数
关键字参数:key=value
1.当有一个可变参数加一个关键字参数时
def add(a,b=9):
result = a+b
print(result)
add(1)
add(1,2)#此时2会覆盖原来b的默认值
结果为:
10
3
2.当函数带一个可变参数和两个关键字参数时,可以结合关键字来调用函数
def add(a,b=9,c=1):
print(a,b,c)
result = a+b+c
print(result)
add(1)
add(1,2)#此时2会覆盖原来b的默认值
add(1,2,3)
#如果不想改b的值,只想改c的值,可以结合关键字的key的使用。
add(2,c=7)
结果为
1 9 1
11
1 2 1
4
1 2 3
6
student={'001':('蔡徐坤',20),'002':('王源',19),'003':('王俊凯',21),'004':('易烊千玺',20)}
def print_boy(name,persons):
if isinstance(persons,dict):#如果persons是一个字典,则执行以下代码
values=persons.values()
print(values)
for names,age in values:
if name == names:
print('{}的年龄是{}'.format(name,age))
print_boy('蔡徐坤',student)
结果为
dict_values([('蔡徐坤', 20), ('王源', 19), ('王俊凯', 21), ('易烊千玺', 20)])
蔡徐坤的年龄是20
3.使用字典时可以用**kwargs(关键字参数)只要有两颗星,只要外面给的函数送值,送的值的类型必须是key=value的形式
def func(**kwargs):#key word argument
print(kwargs)
#在调用时定义
func(a=1,b=2,c=3)#关键字参数
结果为
{'a': 1, 'b': 2, 'c': 3}
当调用关键字参数为字典时,需要在参数前面加上**,如下:
def func(**kwargs):#key word argument
print(kwargs)
#在调用时定义
dict1={'001':'python','002':'java','003':"c"}
func(**dict1)
#**dict1:给函数赋值的时候船体实参:**变量名,将字典进行:拆包。
变成:func(001=python,002=java...)
结果为
{'001': 'python', '002': 'java', '003': 'c'}