Что означает «_» в питоне? - PullRequest
22 голосов
/ 19 октября 2010

При чтении исходного кода 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")

Я знаю, что описание задается как «Integer», но не понимаю синтаксис: description = _("Integer").
Можеткто-нибудь поможет?

Ответы [ 4 ]

27 голосов
/ 19 октября 2010

Пожалуйста, ознакомьтесь с Интернационализация (i18n)

http://docs.djangoproject.com/en/dev/topics/i18n/

_ - это обычно используемое имя для функции, которая переводит строки на другой язык.

http://docs.djangoproject.com/en/dev/topics/i18n/translation/#standard-translation

Кроме того, прочтите все эти связанные вопросы на SO:

https://stackoverflow.com/search?q=%5Bdjango%5D+i18n

13 голосов
/ 19 октября 2010

Не ответ на ваш случай, но более общий «Что означает« _ »в python?»:

В интерактивный режим , _ вернет последнийрезультат, который не был присвоен переменной

>>> 1 # _ = 1
1
>>> _ # _ = _
1
>>> a = 2
>>> _
1
>>> a # _ = a
2
>>> _ # _ = _
2
>>> list((3,)) # _ = list((3,))
[3]
>>> _ # _ = _
[3]

Не уверен, но кажется, что каждое выражение, которое не было присвоено переменной, фактически присваивается _.

6 голосов
/ 19 октября 2010

это используется для функции gettext, как описано здесь

Поддержка django в Utf-8 хороша, поэтому django обрабатывает ее как unicodetext, как описано здесь

0 голосов
/ 23 июля 2017

_ указывает последний действительный вывод на экране. Система по умолчанию сохраняет копию вывода в этой переменной _. Это не относится к строке, которая печатается с использованием функции печати, но я сохраняю строку, сохраненную в переменной.

введите описание изображения здесь

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...