当前位置: 首页 > 面试题库 >

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

燕嘉熙
2023-03-14
问题内容

**kwargsPython 的用途是什么?

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

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

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


问题答案:

你可以**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()



 类似资料:
  • 问题内容: 我编写了一个脚本,该脚本具有多个线程(用创建),该线程从using中获取URL ,然后处理HTML。我是多线程编程的新手,无法理解该函数的用途。 当为空时,它将自动返回异常。所以我不明白每个线程都需要调用该函数。我们知道当队列为空时我们已经完成了队列,所以为什么我们需要通知它工作线程已完成工作(与队列无关,因为他们从队列中获得了URL) ? 有人可以给我提供一个代码示例(理想情况下使用

  • 问题内容: 有什么用?它似乎总是存在于用NetBeans构建的应用程序中。我正在考虑为其中的每个组件存储一些帮助文本- 我不想使用工具提示,而是在另一个面板上显示帮助文本。 问题答案: 外观实现类在JDK中主要使用Component.setName(..)为每个组件设置类似ID的字符串,例如BasicOptionPaneUI可以在按钮组件上调用它以将其名称设置为“ OptionPane.butto

  • 问题内容: 我今天是第一次遇到Python 语句。我已经使用Python几个月了,甚至不知道它的存在!考虑到它的地位有些晦涩,我认为值得一问: 语句旨在用于什么? 你用它来做什么? 我需要了解任何陷阱,还是与其使用相关的常见反模式?有什么比这更好用的情况吗? 为什么没有更广泛地使用它? 哪些标准库类与之兼容? 问题答案: 我相信这已经在我之前的其他用户那里得到了回答,因此我仅出于完整性的考虑而添加

  • 问题内容: 我只想知道所有这些注释之间的区别。我们为什么使用这些…意味着它们没有任何作用,特别是在字段级别和属性级别上。 像这样使用混合级别注释的目的是什么: 这堂课到底怎么说? 问题答案: 默认情况下,访问类型由放置标识符注释()的位置定义。如果您将其放在场地上- 将会,如果您将其放置在吸气剂上- 将会。 有时,您可能不希望对字段进行注释,而要对属性进行注释(例如,因为您希望在getter中具有

  • 问题内容: 我只想知道 到底是 什么 意思 ?甚至在SO上也没有在官方文档中找到任何解释。 如果您能提供一些例子,我将非常高兴。 问题答案: 请参阅PEP 366 和导入系统参考文档: 提议的主要更改是引入了新的模块级别属性。如果存在,则相对导入将基于此属性而非模块属性。 和 * 应该设置模块的属性。它的值必须是字符串,但可以与其值相同。如果该属性设置为或丢失,则导入系统将使用更合适的值填充该属性

  • 问题内容: 我不了解Java的这一功能。我知道它使编码更容易,有时看起来更整洁,但这的实际用途是什么?相反,我觉得最好显示警告,因为将来任何人在修改代码之前都可以引用它们。这@SuppressWarnings是否提高了编译效率,还是根据任何编码标准? 问题答案: 其他答案已经解释了很多用例,但是我想强调一点, 有时您绝对需要使用它来克服语言本身的局限性,在这些情况下,使用绝对是合法的。 在其他情况