text用法 - python直方图横坐标




Python中单个下划线“_”变量的用途是什么? (3)

这段代码中_之后的含义是什么?

if tbh.bag:
   n = 0
   for _ in tbh.bag.atom_set():
      n += 1

Python中的下划线_被认为是“ 我不在乎 ”或“ Throwaway ”变量

  • Python解释器将最后一个表达式值存储到名为_的特殊变量中。

>>> 10 10

>>> _ 10

>>> _ * 3 30

  • 下划线_也用于忽略特定值。 如果您不需要特定值或者不使用这些值,只需将值分配给下划线。

开箱时忽略一个值

x, _, y = (1, 2, 3)

>>>x 1

>>>y 3

忽略索引

for _ in range(10):
do_something()


_在Python中有3个主要的常规用途:

  1. 在交互式解释器会话中保存上次执行的表达式(/语句)的结果。 这个先例是由标准的CPython口译员设定的,其他口译员也纷纷效仿
  2. 在i18n中翻译查找(例如参见gettext文档),如代码中所示: raise forms.ValidationError(_("Please enter a correct username"))
  3. 作为一个通用的“一次性”变量名称来表示部分函数结果正在被故意忽略,如代码中所示: label, has_label, _ = text.partition(':')

后两种用途可能会发生冲突,因此有必要避免在任何代码块中使用_作为一次性变量,这也是为了i18n翻译而使用它的原因(许多人更喜欢双下划线__作为他们的一次性变量) 。


这只是一个变量名,在python中使用_作为一次性变量是常规的。 它只是表明循环变量没有被实际使用。





metasyntactic-variable