TGViewer
PYTHON IN DEPTH🐍 PYTHON IN DEPTH🐍 @python_in_depth · 386 subscribers
Post #29 234
Странная переменная в Python.

Когда человек впервые видит в программе что-то вроде

_, v in my_dict.items():
pass

он обычно теряется. Что это за переменная “_”?

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

>>> a + b
20
>>> _
20
>>> _ * 2
40

В интерпретаторе это позволяет вообще не писать названия переменных и работать быстрее:

>>> list()
[]
>>> _.append(‘чепуха’)
>>> _.append(‘небылица’)
>>> _.append(‘выдумка’)
>>> _
[‘чепуха’, ‘небылица’, ‘выдумка’]

При этом _ -- абсолютно валидное имя. Настолько, что в скриптах его принято использовать для dummy-переменных, значениями которых пользоваться не собираются. Например:

for _ in range(4):
print(“Шутка, повторенная дважды, становится в 4 раза смешнее”)

Или вот так:

_, c = ['чепуха', 'небылица', 'выдумка']
print(‘{} {}’.format(a, c))
'чепуха, выдумка'

С другой стороны, если заводите переменную, значение которой вам не нужно, подумайте, стоит ли вообще это делать. В самом первом примере

for _, v in my_dict.items():
pass

можно было с тем же успехом использовать values().

В общем, в Python у переменной _ две функции:
🥳 она хранит последнее вычисленное интерпретатором значение,
🥳 и ее принято использовать, чтобы проигнорировать значение переменной.
  • 🔥 4
  • 👍 2
  • 😱 2
  • ❤ 1
More from @python_in_depth
  1. Feb 20, 2026«Пузырь лопнул», «айти всё», «рынок умер» — каждый раз читаем это с новым интересом. Но да…
  2. Feb 18, 2026«Какой навык самый важный для разработчика?» Ответ неожиданно простой — умение учиться быс…
  3. Feb 9, 2026Как на самом деле работает отбор резюме в 2026 году Современный найм — это не «человек чит…
  4. Feb 2, 2026Ваш backend слишком сложный. Скорее всего — без причины. У большинства команд сложность ра…
  5. Jan 29, 2026Интеграции с внешними системами: как не превратить backend в зоопарк адаптеров Рано или по…
  6. Jan 29, 2025Еееееее, а че мы над js смеемся
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →