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

listtuple的元素变成可变参数传进去:

nums = [1, 2, 3]
calc(*nums)
# 14

关键字参数

实例:

def person(name, age, **kw):
    print('name:', name, 'age:', age, 'other:', kw)

函数person除了必选参数nameage外,还接受关键字参数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可变参数与关键字参数/
作者
Yorick
发布于
2022年4月14日
许可协议