Неизвестный Синтаксис Python


Я нашел следующий синтаксис в файле python:

 units = (
        (100, 1 << 30, _('%.0f GB')),
        (10, 1 << 30, _('%.1f GB')),
        (1, 1 << 30, _('%.2f GB')),
        (100, 1 << 20, _('%.0f MB')),
        (10, 1 << 20, _('%.1f MB')),
        (1, 1 << 20, _('%.2f MB')),
        (100, 1 << 10, _('%.0f KB')),
        (10, 1 << 10, _('%.1f KB')),
        (1, 1 << 10, _('%.2f KB')),
        (1, 1, _('%.0f bytes')),
        )

Кто-нибудь знает, что означает это подчеркивание?

Заранее благодарю.

5   2  

5 ответов:

Подчеркивание-это допустимое имя переменной, поэтому вы должны посмотреть на контекст вашего примера кода. Очевидно, что подчеркивание-это метод, который был определен где-то еще. Обычно он используется для перевода вещей или подобных вещей.

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

Посмотрите дальше в файле. Если повезет, вы найдете утверждение, подобное этому:

from Language import _

Подчеркивание часто используется для i18n.

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

Функция _ обычно имеет псевдоним gettext get function: http://docs.python.org/library/gettext.html