一尘不染

Python-** wargs的目的和用途是什么?

python

**kwargsPython 的用途是什么?

我知道你可以objects.filter在表上进行传递**kwargs参数。

我还可以指定时间增量timedelta(hours = time1)吗?

它是如何工作的?它是“拆包”类吗?喜欢a,b=1,2吗?


阅读 823

收藏
2020-02-07

共1个答案

一尘不染

你可以**kwargs用来让函数接受任意数量的关键字参数(“ kwargs”表示“关键字参数”):

>>> def print_keyword_args(**kwargs):
...     # kwargs is a dict of the keyword args passed to the function
...     for key, value in kwargs.iteritems():
...         print "%s = %s" % (key, value)
... 
>>> print_keyword_args(first_name="John", last_name="Doe")
first_name = John
last_name = Doe

你还可以**kwargs在调用函数时使用语法,方法是构造关键字参数字典并将其传递给函数:

>>> kwargs = {'first_name': 'Bobby', 'last_name': 'Smith'}
>>> print_keyword_args(**kwargs)
first_name = Bobby
last_name = Smith

在Python指南,包含了如何工作的,有一些很好的例子沿着一个很好的解释。

<-更新->

对于使用Python 3的人,请使用items()代替iteritems()

2020-02-07