_
має 4 основних традиційних напрямків використання в Python:
- Втримати результат останнього виконаного виразу (/ заяви) в сесії інтерактивного перекладача. Цей прецедент встановив стандартний перекладач CPython, і інші перекладачі пішли за цим прикладом
- Для пошуку перекладу в i18n (див.
Документацію gettext, наприклад), як у коді типу:
raise forms.ValidationError(_("Please enter a correct username"))
- В якості загального призначення «холостим» ім'я змінної , щоб вказати , що частина результату функції буде свідомо ігнорується (Концептуально, він буде відкинутий.), Так як в коді , як:
label, has_label, _ = text.partition(':')
.
- Як частина визначення функції (використовуючи або
def
або lambda
), де підпис фіксований (наприклад, API зворотного виклику або API батьківського класу), але для цієї конкретної реалізації функції не потрібні всі параметри, як у коді типу:callback = lambda _: True
(Тривалий час у цій відповіді були перелічені лише перші три випадки використання, але четвертий випадок траплявся досить часто, як зазначалося тут , для того, щоб його варто було чітко перелічити)
Останнє "назва змінної змінної або параметра" використовує випадки, можуть суперечити випадку використання пошуку пошуку, тому слід уникати використання _
як перемінної змінної у будь-якому кодовому блоці, який також використовує її для перекладу i18n (багато людей вважають за краще подвійне підкреслення , __
як їх перекидну змінну саме з цієї причини).