python前缀为_的字符串,是什么?

时间:2014-01-24 09:37:37

标签: python

我在字符串之前的某些代码中看到_,例如

lable = _("Password")

这是什么意思?有人告诉我这是多语言支持。我没有在互联网上找到任何确认这一点......

非常感谢你的帮助。

。 --update-- 谢谢,@ thg435,看到你的文字后,我发现了确切的内容:

from django.utils.translation import ugettext, ugettext_lazy as _

' - '是速记......

2 个答案:

答案 0 :(得分:6)

名称_通常被定义为gettext.gettext的别名,有关详细信息,请参阅http://docs.python.org/2/library/gettext.html。 是的,这是为了国际化。

但是,由于_是有效的标识符(因此是函数名称),因此可以将其用于其他目的。这完全取决于程序员。

答案 1 :(得分:1)

根据docs,有效的Python标识符可以是这样的

identifier ::=  (letter|"_") (letter | digit | "_")*

它可以是任何有效的表达式,从letter_开始,然后它可以包含字母,数字或_。因此,_是Python中的有效变量名。您的代码看起来像一个函数调用,其中函数的名称是_。例如,

def _(arg):
    print arg

_("Password")

会打印

Password