Опубликован: 19.11.2023 102
Символ нижнего подчеркивания ( _
) является специальным идентификатором в Python, который имеет несколько функций (в зависимости от контекста) и может использоваться для улучшения кода.
Символ ( _
) можно использовать для ссылки на объект или изменения имени переменных, функций, классов и т.п.
Существует несколько вариантов использования символа ( _
):
Одним из интересных способов применения символа ( _
) является его использование в качестве визуального разделителя для группировки цифр (например, по разрядам в длинных числовых значениях) - было введено в Python 3.6 (PEP 515).
К примеру, число в 2,5 млрд можно представить как: 2_500_000_000
Такое визуальное представление числа никак не влияет на его значение и использование в вычислениях.
Кроме того, символ ( _
) можно использовать для разделения частей двоичных, восьмеричных или шестнадцатеричных чисел.
# разделение больших числовых значений по разрядам:
num = 2_500_000_000
print(num)
2500000000
print(num + 300)
2500000300
for
.Идентификатор ( _
) можно также использовать для игнорирования значений, например, при распаковке объектов или в цикле for
, если эти значения не будут использоваться дальше в программе.
Важно отметить, что если вместо нижнего подчеркивания ( _
) использовать другой идентификатор, то это может вызвать ошибку F841 при lintinge программы. Ошибка F841 означает, что имя локальной переменной было присвоено, но не используется в программе, что является плохой практикой.
# игнорирование значений при распаковке
a, *_, b = [1, 2, 3, 4, 5]
print(f"{a=} {b=}")
a=1 b=5
# игнорирование значений в цикле for
for _ in range(10):
print( _ , end=' ')
0 1 2 3 4 5 6 7 8 9
_
).Интерпретатор сохраняет результат последнего вычисления в переменной ( _
), что делает доступным использование этой переменной в последующих операциях, в том числе присвоение ее значения другой переменной.
5 + 7
12
print( _ )
12
print( _ + 3)
15
x = _
print(x)
15
Наиболее часто символ нижнего подчеркивания ( _
) используется при именовании переменных, функций, методов, классов:
_variable
) делает переменную, функцию, метод, класс приватными объектами;variable_
) используется для предотвращения конфликта с ключевыми (зарезервированными) словами Python (например, использование локальной переменной list_
или sum_
позволяет избежать конфликта с встроенными функциями list()
, sum()
);__variable
) изменяют имена атрибутов класса на приватные (это делает невозможным прямой доступ к ним с помощью ClassName.__metod
);__variable__
) используется для создания специальных переменных или методов (так называемых «магических методов») классов (например, __init__
или __len__
).Методы преобразования списка в строку и обратно
Фильтрация элементов итератора с помощью bool-списка функции itertools.compress()
Пропуск не нужных элементов последовательности с помощью itertools.dropwhile()
Комментариев нет.