问题标签 [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.
python - 当局部变量名称与函数参数名称相同时将关键字参数传递给函数
有没有更简洁的方法来写这个?
背景:我有一个参数太多的函数
在我的程序中,我有命名与函数参数完全相同的局部变量。
我想用关键字参数调用函数。由于变量的名称相同,这就是调用的外观。
当然,我可以使用位置而不是像这样的关键字来传递参数
但是a
, b
, c
, d
,e
只是本例中变量的名称,很容易看出正确的顺序。然而不幸的是,我的程序中的变量命名更复杂,没有容易辨别的自然顺序。所以我真的很喜欢按关键字传递它们以避免任何错误。
django - Python:在包装函数中使用 *args、**kwargs
我正在为 Django 的 render_to_response() 编写一个包装函数来添加 CSRF 处理。
逻辑是:
render_to_response() 具有以下签名:
我想编写透明包装器 - 只需添加一些功能(前面提到过)并保留其他内容。我想我应该这样写:
所以问题是 - 从 args/kwargs 中提取所需参数(然后更改它)并进一步传递它的最佳实践是什么?
顺便说一句,render_to_response() 的代码让我觉得有点奇怪。这里是:
如果有人用所有位置参数调用它,所以 kwargs 将为空,但mimetype
参数将被指定为最后一个位置参数怎么办?看起来在那种情况下它的行为是错误的。
python - Python 约定 **kwargs vs **kwds vs **kw 是什么?
关键字参数是否有python命名约定?
python-3.x - Python 3.2:如何将字典传递给 str.format()
我一直在阅读有关字符串格式的 Python 3.2 文档,但它并没有真正帮助我解决这个特殊问题。
这是我正在尝试做的事情:
上面的代码将不起作用,因为 format() 调用没有读取字典值并使用这些值代替我的格式占位符。如何修改我的代码以使用我的字典?
boost-python - 如何将 kwargs 传递给 boost-python 包装函数?
我有一个带有这个签名的python函数:
我想从 c++ 调用该函数并将一些 kwargs 传递给它。调用函数不是问题。知道如何通过 kwargs 是。这是一个无效的释义示例:
当我练习这段代码时,我在 pdb 中得到(这不是我想要的):
您如何在 **kwargs 字典中传递我的示例中的选项?
我看到一篇帖子建议使用 **options 语法(这太酷了!):
不幸的是,这导致
感谢您提供的任何帮助。
python - 如何在 Python 2 中将位置参数视为关键字参数
对于我正在编写的装饰器,我想操作函数的特定命名参数。考虑以下装饰器:
应用于下一个功能:
如果将股息作为关键字参数调用,这将起作用,例如:
但是,当作为位置参数给出时,这将失败。
使用 Python 3,我可以通过强制参数始终作为关键字给出来解决这个问题:
但我想支持 Python 2,并且我想对函数施加尽可能少的限制。
有没有办法可以在我的装饰器中修复这种行为?
python - Do Python's `*` and `**` specifiers have a name?
Possible Duplicate:
proper name for python * operator?
*
is clearly used when unpacking an arbitrary number of arguments and
**
is used when unpacking keyword arguments as a dictionary.
It is conventional to use *args
and **kwargs
, and I tend to pronounce these as "args" and "quargs", ignoring the *
s.
In this question, the asterisk was referred to as a pointer.
How does the BDFL refer to these symbols?
Following closure.
Thanks for finding the linked question, this is what I was looking for. It's really tricky to search (even very specific areas of) the web accurately for *
!
To the commentators who responded with how they pronounce "*", that was not the question I was asking (and apologies if my question mislead you). What I wanted to know is how these specifiers are named in Python, this was not a subjective question (hence the reference to the BDFL).
python - 以 Python 方式处理大量关键字参数
我有一个类,其_ init _函数需要相当多的关键字参数。我希望能够基本上重写这段代码,使其在语法上更清晰(更少的硬编码)。最好我希望能够得到它,以便简单地将关键字参数添加到_ init _将分别更改 null 函数中的所有属性/参数。
python - 装饰器python库隐藏args中的kwargs
我在装饰器库中遇到了一个非常奇怪的行为,下面的代码将对此进行解释:
此脚本的执行打印:
'decorator' 将 kwargs 隐藏在 args 中,我如何在不使用“自制”装饰器的情况下解决这个问题。
谢谢。
python - Python 函数“记住”较早的参数 (**kwargs)
我有一些具有属性字典的对象,obj.attrs
. 为方便起见,这些对象的构造函数接受 dict 和/或**kwargs
。
它看起来有点像这样:
这样Thing({'color':'red'})
做与Thing(color='red')
.
我的问题是构造函数以某种方式记住attrs
传递给它的最后一个值。
例如:
...但thing2.attrs
应该只是一个空字典!{}
这让我想知道这是否不是同时使用和 **kwargs
类似的参数的问题attrs={}
。
有任何想法吗?