_ має 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 (багато людей вважають за краще подвійне підкреслення , __як їх перекидну змінну саме з цієї причини).