a, b = b, a? Все мы знаем, что в Python можно поменять значения двух переменных местами одной строкой. Но как именно это работает?
Рассмотрим пример:
a, b = 1, 2
a, b = b, a
print(a, b) # 2 1
Python сначала создаёт кортеж из правой части выражения:
temp = (b, a) # (2, 1)
Затем этот кортеж распаковывается в переменные слева:
a, b = temp[0], temp[1] # a = 2, b = 1
При этом всё выполняется в один шаг, без создания временной переменной и без риска потери данных, даже если
a и b сложные объекты. ⚡️ — если было полезно
❤️ — если уже знал
➡️ Python Developer | #обучение
