我已经在一些情况下看到了这一点,例如,
按顺序开箱:
_, x = L.pop() # e.g., L is a list of tuples
初始化容器:
X = _
因此,显然这不是正式python语法的元素,而是我所知道的用法似乎是可自行决定的。
因此,我很好奇它的使用可能是什么原因,以及通常的优点(如果有)是什么?
注意 :我的问题与脚本,模块等中“ ”的使用有关,但与交互式提示中的使用 无关 。在 _IDLE中 ,与python一起打包的交互式解释器以及在 ipython 中的“ ”用作 _最近返回的结果 的占位符)。
我已经看到它以两种方式使用。两者都是扔掉的变量,但更常见的是作为国际化的文本包装器。
name, _ = 'bida.bombu.foo'.split('.', 1)
尽管我不建议这样做。而是将其称为“忽略”。
name, ignored = 'bida.bombu.foo'.split('.', 1)
更清楚了
from zope.i18nmessageid import MessageFactory _ = MessageFactory('my.domain') label = _("The label text")
label 这里将是一个“消息”,即一个具有消息ID和域的对象,并且在呈现到用户界面(如网页)时,它将通过消息目录翻译为当前用户语言,因此标签最终将以用户的本地语言显示。
label
_在这里使用它是因为它简短而引人注目。生成的代码_("The label text")看起来不仅与字符串不同,而MyDomainMessage("The label text")看上去也非常不同,而且更长。
_
_("The label text")
MyDomainMessage("The label text")