5 способов использования подчеркивания (_) в Python

Подчеркиванию (_) в Python отводится особенное место. Если в большинстве других языков оно используется в названиях переменных и функций, то в Python подчеркивание (_) обладает гораздо большей властью. Например, если вы программировали на Python, то вам должен быть знаком следующий синтаксис: for _ in range(10) или __init__(self).

В этой статье мы рассмотрим 5 способов использования (_) в Python:

  1. Хранение значения последнего выражения в интерпретаторе.
  2. Игнорирование некоторых значений.
  3. Задание специальных значений переменным или функциям.
  4. Использование функций «Internationalization(i18n)» и «Localization(l10n)».
  5. Отделение цифр числа друг от друга.

Пройдемся по каждому случаю отдельно.

Хранение значения последнего выражения в интерпретаторе

Интерпретатор Python хранит значение последнего выражения в специальной переменной «_». Эта возможность сначала использовалась в стандартном CPython-интерпретаторе, но теперь она доступна и в других интерпретаторах.

Игнорирование некоторых значений

Подчеркивание (_) также используется для игнорирования ненужных вам значений.

Задание специальных значений для имен переменных или функций

PEP8, руководство по написанию кода на Python, выделяет 4 способа задания имен.

_single_leading_underscore

Таким способом задаются частные переменные, функции, методы и классы в модуле. Все, что использует такой способ задания имени, будет проигнорировано в from module import *.

single_trailing_underscore_

Такой метод задания имен используется для избежания конфликтов со встроенными именами или классами.

__double_leading_underscore

Двойное подчеркивание (__) используется для искажения имен атрибутов в классе. Если мы создадим метод с именем «__method» в классе с именем «ClassName», то вызвать этот метод так: «ClassName.__method» — у нас уже не получится. Для дополнительной информации вы можете прочитать о способах задания имен в Python.

__double_leading_and_trailing_underscore__

Такой способ именования используется для специальных переменных или функций, таких как __init__ или __len__.

Использование функций «Internationalization(i18n)» и «Localization(l10n)»

Отделение цифр числа друг от друга

Эта возможность была добавлена в Python 3.6. Она позволяет существенно облегчить восприятие и написание больших чисел.

Перевод статьи «Understanding the underscore( _ ) of Python»