揭秘函数参数中(双星)和(星)的意义*
Python 中,函数由 args 和 *kwargs 表示的参数作为通用机制来适应任意
使用 *args 解包位置参数
*args 参数将所有超过预定义位置参数的位置参数收集到一个元组中。例如:
def foo(*args): for arg in args: print(arg)
此函数可以接受任意数量的位置参数,例如:
foo(1) # Output: 1 foo(1, 2, 3) # Output: 1 2 3
使用 kwargs**
另一方面,**kwargs 将所有关键字参数收集到一个字典。def bar(**kwargs): for key, value in kwargs.items(): print(key, value)使用关键字参数调用此函数会产生:
bar(name='John', age=30) # Output: name John, age 30
args 和 kwargs*这两个习语可以组合起来以允许固定和可变的混合参数:
可以按如下方式调用此函数:def foo(kind, *args, bar=None, **kwargs): print(kind, args, bar, kwargs)
foo(123, 'a', 'b', apple='red') # Output: 123 ('a', 'b') None {'apple': 'red'}其他用例
def foo(bar, lee): print(bar, lee) baz = [1, 2] foo(*baz) # Output: 1 2
first, *rest = [1, 2, 3, 4] # first = 1 # rest = [2, 3, 4]
def func(arg1, arg2, arg3, *, kwarg1, kwarg2): pass之后的任意数量的关键字参数
以上是Python 函数参数中的'*args”和'kwargs”有什么区别?的详细内容。更多信息请关注PHP中文网其他相关文章!