Шаг 22.
Python: тонкости программирования. Шаблоны для чистого Python. Подчеркивания, дандеры и другое. Одинарный символ подчеркивания: _

    На этом шаге мы рассмотрим назначение и использование этого символа.

    По договоренности одинарный автономный символ подчеркивания иногда используется в качестве имени, чтобы подчеркнуть, что эта переменная временная или незначительная.

    Например, в приведенном ниже цикле нам не нужен доступ к нарастающему индексу, и мы можем применить "_", чтобы показать, что этот символ подчеркивания является лишь временным значением:

>>> for _ in range(32):
	print('Привет, Мир.')

    Одинарные символы подчеркивания также можно применять в распаковке выражений, обозначая таким образом "неважную" переменную, чтобы проигнорировать отдельные значения. И снова: смысл одинарного подчеркивания существует только по договоренности, и оно не запускает особых форм поведения в синтаксическом анализаторе Python. Одинарный символ подчеркивания - это просто имя допустимой переменной, которое иногда используется с этой целью.

    В следующем ниже примере исходного кода мы распаковываем кортеж в отдельные переменные, но нас интересуют только значения полей color и mileage. Однако для того, чтобы выражение распаковки было успешным, нужно назначить переменным все содержащиеся в кортеже значения. Именно тут в качестве переменной-заполнителя пригодится символ "_":

>>> car = ('красный', 'легковой автомобиль', 12, 3812.4)
>>> color, _, _, mileage = car
>>> color
'красный'
>>> mileage
3812.4
>>> _
12

    Помимо его применения в качестве временной переменной, символ "_" является специальной переменной в большинстве интерпретаторов Python, работающих в цикле чтение-вычисление-печать (REPL). Она представляет в них результат последнего выражения, вычисленного интерпретатором.

    Это удобно, если вы работаете в сеансе интерпретатора и хотите получить доступ к результату предыдущего вычисления:

>>> 20 + 3
23
>>> _
23
>>> print(_)
23

    Это также удобно, если вы конструируете объекты на лету и хотите взаимодействовать с ними, не назначая им имени перед этим:

>>> list()
[]
>>> _.append(1)
>>> _.append(2)
>>> _.append(3)
>>> _
[1, 2, 3]

    На следующем шаге мы подведем краткие итоги.




Предыдущий шаг Содержание Следующий шаг