Python可变参数与关键字参数
本文最后更新于:2022年12月17日 中午
可变参数和关键字参数
Variable Parameter & Keyword Argument
参考:
可变参数:
实例:
def calc(*numbers):
sum = 0
for n in numbers:
sum = sum + n * n
return sum
定义函数cala()
,*numbers
即为可变参数,在函数内部,参数numbers
接收到的是一个tuple
(元组),因此,函数代码完全不变。但是,调用该函数时,可以传入任意个参数,包括0个:
calc(1,2)
# 5
calc()
# 0
把list
或tuple
的元素变成可变参数传进去:
nums = [1, 2, 3]
calc(*nums)
# 14
关键字参数
实例:
def person(name, age, **kw):
print('name:', name, 'age:', age, 'other:', kw)
函数person
除了必选参数name
和age
外,还接受关键字参数kw
:
person('Adam', 35, gender='M', job='Engineer')
# name: Adam age: 35 other: {'gender': 'M', 'job': 'Engineer'}
另外person()
也接受dict
类型参数:
extra = {'city': 'Beijing', 'job': 'Engineer'}
person('Jack', 24, city=extra['city'], job=extra['job'])
# name: Jack age: 24 other: {'city': 'Beijing', 'job': 'Engineer'}
简化:
extra = {'city': 'Beijing', 'job': 'Engineer'}
person('Jack', 24, **extra)
# name: Jack age: 24 other: {'city': 'Beijing', 'job': 'Engineer'}
Python可变参数与关键字参数
https://yorick-ryu.github.io/Python/Python可变参数与关键字参数/