Python中单个下划线“_”variables的用途是什么?

在这个代码中_之后是什么意思?

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

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

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

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

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