在阅读Django的源代码时,我发现了一些陈述:
class Field(object):
"""Base class for all field types"""
__metaclass__ = LegacyConnection
# Generic field type description, usually overriden by subclasses
def _description(self):
return _(u'Field of type: %(field_type)s') % {
'field_type': self.__class__.__name__
}
description = property(_description)
class AutoField(Field):
description = _("Integer")
我知道它将描述设置为'整数',但不理解语法:description = _("Integer")
有人可以提供帮助吗?
答案 0 :(得分:27)
请阅读国际化(i18n)
http://docs.djangoproject.com/en/dev/topics/i18n/
_
是将字符串翻译成另一种语言的函数的常用名称。
http://docs.djangoproject.com/en/dev/topics/i18n/translation/#standard-translation
另外,请阅读SO上的所有相关问题:
答案 1 :(得分:13)
不是你的案例的答案,而是更一般的“python中'_'的含义是什么?”:
在交互模式中,_
将返回未分配给变量的最后结果
>>> 1 # _ = 1
1
>>> _ # _ = _
1
>>> a = 2
>>> _
1
>>> a # _ = a
2
>>> _ # _ = _
2
>>> list((3,)) # _ = list((3,))
[3]
>>> _ # _ = _
[3]
不确定,但似乎每个未分配给变量的表达式实际上都已分配给_
。
答案 2 :(得分:6)
答案 3 :(得分:0)
_表示屏幕上的最后一次有效输出。系统默认情况下将输出的副本存储到此_变量。它不适用于使用print函数打印的字符串,但我存储了存储在变量中的字符串。