_
имеет 3 основных традиционных использования в Python:
- Для удержания результата последнего выполненного выражения (/ оператора) в интерактивном
сессия переводчика. Этот прецедент был установлен стандартным CPython
переводчик и другие переводчики последовали его примеру
- Для поиска перевода в i18n (см.
Gettext
документация, например), как в коде, как:
raise forms.ValidationError(_("Please enter a correct username"))
- В качестве «одноразового» имени переменной общего назначения для обозначения этой части
результата функции намеренно игнорируется (Концептуально он отбрасывается.), как в коде:
label, has_label, _ = text.partition(':')
Последние две цели могут конфликтовать, поэтому необходимо избегать использования _
в качестве одноразовой переменной в любом блоке кода, который также использует ее для перевода i18n (многие люди предпочитают двойное подчеркивание, __
, поскольку их по этой причине одноразовая переменная).