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)
当你覆盖某个函数并希望使用用户传入的任何参数调用原始函数时,它可能更常用于面向对象的编程中。
实际上,你不必将它们称为args
和kwarg
s,这只是一个约定。这是*
和**
该做的魔力。
以上是 Python-* args和** kwargs是什么意思? 的全部内容, 来源链接: utcz.com/qa/426271.html