В чем смысл _
после for
в этом коде?
if tbh.bag:
n = 0
for _ in tbh.bag.atom_set():
n += 1
В чем смысл _
после for
в этом коде?
if tbh.bag:
n = 0
for _ in tbh.bag.atom_set():
n += 1
_
имеет 4 основных традиционных использования в Python:
raise forms.ValidationError(_("Please enter a correct username"))
label, has_label, _ = text.partition(':')
.def
или lambda
), где
подпись фиксируется (например, с помощью функции обратного вызова или родительского класса), но
эта конкретная реализация функции не нуждается во всех
параметры, как в коде, как: callback = lambda _: True
(Долгое время в этом ответе перечислялись только первые три варианта использования, но четвертый случай встречался достаточно часто, как отмечалось здесь, чтобы стоить перечислять его в явном виде)
Последние случаи использования одноразовой переменной или имени параметра могут конфликтовать со случаем использования поиска перевода, поэтому необходимо избегать использования _
в качестве одноразовой переменной в любом блоке кода, который также использует его для перевода i18n (многие люди предпочитают двойное подчеркивание, __
, как их одноразовая переменная именно по этой причине).
Это просто имя переменной, и в python принято использовать _
для переменных throwaway. Он просто указывает, что переменная цикла фактически не используется.
Подчеркивание _
считается переменной " I do not Care " или " Throwaway " в Python
Интерпретатор python сохраняет последнее значение выражения специальной переменной, называемой _
.
>>> 10
10
>>> _
10
>>> _ * 3
30
Подчеркивание _
также используется для игнорирования конкретных значений. Если вам не нужны конкретные значения или значения не используются, просто назначьте значения для подчеркивания.
Игнорировать значение при распаковке
x, _, y = (1, 2, 3)
>>> x
1
>>> y
3
Игнорировать индекс
for _ in range(10):
do_something()
Есть 5 случаев использования подчеркивания в Python.
Для хранения значения последнего выражения в интерпретаторе.
Для игнорирования конкретных значений. (так называемый "я не забочусь")
Предоставлять особые значения и функции для обозначения vartiables или функций.
Использовать функции "Интернационализация (i18n)" или "Локализация (l10n)".
Отделить цифры числа буквальное значение.
Вот хорошая статья с примерами по mingrammer.