命名关键字参数
(1)在函数内判断
- 在定义了**kwargs参数后,函数调用就可以传入任意的关键字参数key=value
- 如果函数体代码的执行需要依赖某个key,就必须在函数内进行判断
def register(name, age, **kwargs):
if 'sex' in kwargs:
# 有sex参数
pass
if 'height' in kwargs:
# 有height参数
pass
(2)命名关键字传参
- 需要在定义形参时,用
*
作为一个分隔符号,*
号之后的形参称为命名关键字参数。 - 对于这类参数,在函数调用时,必须按照key=value的形式为其传值,且必须被传值
"""命名关键字传参用*隔断"""
#命名关键字参数必须以key=value的形式传值
#定义形参的时候,用*作为分隔符合,*之后的形参成为关键字参数,
#*之后的参数,在函数调用时,必须以key=value的形式为其传值,并且必须被传值
def add(name,age,*,sex,height):
pass
print()
add('syh',18,sex='男',height='180')
(3)命名关键字参数和命名关键字参数默认值
- 命名关键字参数也可以有默认值,
- *号之后的参数都是命名关键字参数,命名关键字参数的默认值在前也不会有问题。
- 另外,如果形参中已经有一个
*args
了,命名关键字参数就不再需要一个单独的*
作为分隔符号了
def add(name,age,*,sex='男',height):
print(f"{name}-{age}-{sex}-{height}")
add('syh',18,height='180')
#syh18男180
标签:sex,关键字,参数,key,命名,height
From: https://www.cnblogs.com/suyihang/p/17894364.html