Я очень часто работаю в REPL. Удобная штука для разработки, поисков, тестов, дебага...
Иногда случается такая ситуация, когда я делаю вызов какой-либо функции и вижу распечатку результата в консоли. И только потом понимаю что нужно было это сохранить в переменную!
>>> get_some()
<some result>
А почему бы не выполнить еще раз но уже сохранив в переменную?
>>> result = get_some()
Да, чаще всего так и делаю, но иногда это неудобно или недопустимо. Например, если результат считается долго или каждый раз он будет другой.
В этом случае выручает одна интересная особенность интерактивной консоли, это переменная "_"(нижнее подчеркивание).
Python по умолчанию сохраняет в неё результат последнего вызова если этот результат не был никуда сохранён.
>>> get_some()
<some result>
>>> print(_)
<some result>
То есть, сразу после вызова достаточно скопировать значение из этой переменной
>>> get_some()
<some result>
>>> result = _
>>> print(result)
<some result>
Это не сработает в двух случаях:
🔸 Если у вас не REPL, то есть простой запуск скрипта.
🔸 Если вы самостоятельно объявили эту переменную или сделали импорт с этим именем.
>>> _ = False
>>> get()
<some result>
>>> print(_)
False
#tricks