Python-* args和** kwargs是什么意思?

究竟什么*args**kwargs意味着什么?

根据Python文档,从表面上看,它传入了一个参数元组。

def foo(hello, *args):

print hello

for each in args:

print each

if __name__ == '__main__':

foo("LOVE", ["lol", "lololol"])

打印输出:

LOVE

['lol', 'lololol']

您如何有效地使用它们?

回答:

*args/**kwargs作为函数定义的参数列表的最后一项放置,可使该函数接受任意数量的参数和/或关键字参数。

例如,如果你想编写一个返回所有参数总和的函数,则无论你提供多少,都可以这样编写:

def my_sum(*args):

return sum(args)

当你覆盖某个函数并希望使用用户传入的任何参数调用原始函数时,它可能更常用于面向对象的编程中。

实际上,你不必将它们称为argskwargs,这只是一个约定。这是***该做的魔力。

以上是 Python-* args和** kwargs是什么意思? 的全部内容, 来源链接: utcz.com/qa/426271.html

回到顶部