问题标签 [keyword-argument]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
202 浏览

python - 为什么接受 kwargs 但不使用它们?

我今天在看 Django 源代码,我注意到了这一点:

为什么他们会在构造函数中接受 kwargs 而对它们不做任何事情?

0 投票
3 回答
721 浏览

python - func(*tuple) 'scatters' 元组,但是 func(**dictionary) 是如何工作的呢?

让我们创建一个简单的元组、字典和函数。

下面显示了*在元组和字典作为参数之前所做的事情。

现在让我们**在争论之前尝试一下。

好的,似乎 ** 仅在将字典用作参数时才有效。那么让我们用字典来试试吧。

什么?谁能给我看一个不会产生错误的最后一种情况的例子?

0 投票
2 回答
488 浏览

python - 为什么 **kwargs 不使用 python ConfigObj 进行插值?

我在 python 中使用带有模板样式插值的ConfigObj 。通过 ** 展开我的配置字典似乎并没有进行插值。这是功能还是错误?有什么好的解决方法吗?

我希望第二行是/test/directory. 为什么插值不适用于 **kwargs?

0 投票
1 回答
10747 浏览

python - Python 多处理关键字参数

这是一个在函数调用中使用关键字参数的简单示例。没什么特别的。

正如预期的那样打印:

我正在尝试将相同样式的关键字参数传递给多处理任务,但是在 args 列表中使用 ** 是语法错误。我知道我的函数stretch() 将采用两个位置参数和n 个关键字参数。

是否可以将关键字参数传递给 multiprocessing.Process?如果是这样,怎么做?如果不是,为什么?

0 投票
1 回答
97 浏览

python - 不同类实例的成员通过方法定义中的参数默认值引用同一对象

Python 文档说明了关键字参数(词汇表):

...变量名称指定函数中的局部名称,该值被分配给...

因此,除非明确说明,否则我认为一个类的不同实例是真正不同的。然而,下面的代码显然是通过给定的默认值将类的两个实例的一个成员变量引用到 /same/ 对象(好像方法的关键字字典是类变量(“静态”))。一旦修改了成员,一切都很好,但如果由于某种原因没有发生:

  1. 我想知道代码的行为是否有充分的理由,因为这根本不是我所期望的(请参阅代码和输出中的标记)和
  2. 问题是否有好的解决方案(除了使用“复制”)。谢谢。

    /li>

输出:

0 投票
2 回答
4586 浏览

python - 将比初始设置更多的 kwargs 传递给函数

有没有办法将更多的 kwargs 发送到函数中,而不是在函数调用中调用?

例子:

有什么方法可以在mybigdict没有错误的情况下通过吗? 'c'在我的理想世界中永远不会被使用,mydef只会被忽略。

谢谢,我的挖掘还没有找到我想要的东西。

编辑:稍微修正了代码。这mydef(a, b, **kwargs)是我正在寻找的形式,但检查函数 args 对我来说是一个新事物,并且绝对适合我的工具箱。感谢大家!

0 投票
5 回答
11548 浏览

python - python不接受关键字参数

我正在尝试使我的代码不接受关键字参数,就像某些 bulitins 也不接受关键字参数一样,但是我无法这样做。以下是我根据我有限的理解的想法:-

输出:


现在,当我运行以下命令时(我知道这不应该是函数定义中的关键字参数,但是,看看函数调用,它似乎与调用接受关键字参数的函数时的语法相同) :

输出:

我有两个问题:-

  1. 查看函数调用somefunc(b=10,a=20)而不是函数定义,这似乎是对仅接受普通参数的函数或接受关键字参数的函数的调用。口译员如何区分这两者?
  2. 是否可以将我们的任何函数转换为一种形式,使其不像许多内置函数那样接受关键字参数?

为什么我要这样做呢? 我只是在检查我是否可以做到这一点,这样我就不会错过深入理解 python 的任何内容。我确实知道python是否允许这样做。

0 投票
6 回答
132262 浏览

python - 如何检查 **kwargs 中的键是否存在?

蟒蛇 3.2.3。这里列出了一些想法,它们适用于常规 var,但似乎 **kwargs 遵循不同的规则......那么为什么这不起作用以及如何检查 **kwargs 中的键是否存在?

我也认为这应该可行,但它没有——

我猜是因为 kwargs 是可迭代的?我是否必须遍历它才能检查是否存在特定的键?

0 投票
1 回答
1138 浏览

python - python关键字参数中列表的可变性(?)

可能的重复:
Python 中的“Least Astonishment”:可变默认参数

我不确定这叫什么,因此很难找到正在发生的事情的文档。我希望这里的某个人能够指出我正确的方向。

在下面的示例中,我有一个列表作为关键字参数的默认值,它的行为方式是我没想到的:

我知道列表是可变的,但我假设在使用列表作为默认关键字参数的情况下,每次都会创建一个“新”列表。是否有文档解释为什么不是这种情况?

0 投票
3 回答
5589 浏览

python - python可执行文件中的kwargs

我正在尝试创建一个可以从命令行调用并在 python 2.6 中使用关键字参数的程序。到目前为止,我已经尝试过:

当我尝试从命令行运行它时:./test.py程序按预期打印 5 。有没有办法使用./test.py foo=6?我想保留关键字参数。

这似乎是一个简单的问题,但我还没有找到一个很好的来源。