variables plt.annotate用法 - Python中单个下划线“_”变量的用途是什么?




plt.text用法 matplotlib标注点 (5)

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

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

Answers

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

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

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


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

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

>>> 10 10

>>> _ 10

>>> _ * 3 30

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

开箱时忽略一个值

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

>>>x 1

>>>y 3

忽略索引

for _ in range(10):
do_something()


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


在Python中使用下划线有5种情况。

  1. 用于存储解释器中最后一个表达式的值。

  2. 为了忽略具体的价值。 (所谓的“我不在乎”)

  3. 赋予特殊的含义和功能以指称易变的或功能的名称。

  4. 用作'国际化(i18n)'或'本地化(l10n)'功能。

  5. 分开数字字面值的数字。

Here是一个很好的文章,用mingrammer例子。


全球范围:

全球变量与全球明星一样(成龙,纳尔逊曼德拉)。 您可以从应用程序的任何部分访问它们(获取或设置值)。 全球职能就像全球事件(新年,圣诞节)。 您可以从应用程序的任何部分执行(调用)它们。

//global variable
var a = 2;

//global function
function b(){
   console.log(a);  //access global variable
}

本地范围:

如果你在美国,你可能会认识Kim Kardashian,臭名昭着的名人(她设法制作小报)。 但美国以外的人不会承认她。 她是当地的明星,与她的领地相连。

局部变量就像当地的明星。 您只能在范围内访问它们(获取或设置值)。 一个本地函数就像本地事件 - 你只能在该范围内执行(庆祝)。 如果你想从范围之外访问它们,你会得到一个参考错误

function b(){
   var d = 21; //local variable
   console.log(d);

   function dog(){  console.log(a); }
     dog(); //execute local function
}

 console.log(d); //ReferenceError: dddddd is not defined    

查看本文以深入了解范围





python variables naming-conventions underscores metasyntactic-variable