我在字符串之前的某些代码中看到_,例如
lable = _("Password")
这是什么意思?有人告诉我这是多语言支持。我没有在互联网上找到任何确认这一点......
非常感谢你的帮助。
。 --update-- 谢谢,@ thg435,看到你的文字后,我发现了确切的内容:
from django.utils.translation import ugettext, ugettext_lazy as _
' - '是速记......
答案 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