Python中单个下划线“ _”变量的用途是什么?
此代码中的_after
是什么意思for
?
if tbh.bag: n = 0
for _ in tbh.bag.atom_set():
n += 1
回答:
_
在Python中有4种主要的常规用法:
- 在交互式解释器会话中保存上次执行的表达式的结果。此先例是由标准CPython解释器设定的,其他解释器也纷纷效仿
- 在i18n中进行翻译查找( 例如,参见 gettext文档),如代码所示:
raise forms.ValidationError(_("Please enter a correct username"))
- 作为通用“一次性”的变量名指示函数结果的一部分被故意忽略(在概念上,它被丢弃。),如类似的代码:
label, has_label, _ = text.partition(':')
。 - 作为函数定义的一部分(使用
def或lambda
),其中的签名是固定的(例如,通过回调或父类API),但是这种特定的函数实现不需要所有参数,如代码所示:callback = lambda _: True
(很长一段时间这个答案只列出的前三个用例,但第四的情况下想出往往不够,如上所述这里,将值得明确列出)
后者的“抛弃型变量或参数名称”用例可能与翻译查找用例冲突,因此有必要避免_在也将其用于i18n
转换的任何代码块中将其用作抛弃型变量(许多人更喜欢使用双下划线,因为正是因为这个原因,它们的一次性变量是) 。
以上是 Python中单个下划线“ _”变量的用途是什么? 的全部内容, 来源链接: utcz.com/qa/426478.html