将*args
和/
或**kwargs
作为函数定义的参数列表的最后一项放置,可使该函数接受任意数量的参数和/或关键字参数。
例如,如果你想编写一个返回所有参数总和的函数,则无论你提供多少,都可以这样编写:
def my_sum(*args):
return sum(args)
当你覆盖某个函数并希望使用用户传入的任何参数调用原始函数时,它可能更常用于面向对象的编程中。
实际上,你不必将它们称为args
和kwarg
s,这只是一个约定。这是*
和**
该做的魔力。
Python-* args和** kwargs是什么意思?
将*args
和/
或**kwargs
作为函数定义的参数列表的最后一项放置,可使该函数接受任意数量的参数和/或关键字参数。
例如,如果你想编写一个返回所有参数总和的函数,则无论你提供多少,都可以这样编写:
def my_sum(*args):
return sum(args)
当你覆盖某个函数并希望使用用户传入的任何参数调用原始函数时,它可能更常用于面向对象的编程中。
实际上,你不必将它们称为args
和kwarg
s,这只是一个约定。这是*
和**
该做的魔力。