Python Portal
Немного базы Python. День 6 - Обмен значениями переменных
В Python можно менять местами переменные после того, как им уже присвоены объекты. Ниже мы сначала присваиваем 20 переменной x и 30 переменной y, а потом меняем их местами: x становится 30, а y становится 20. Этот способ называется упаковкой и распаковкой кортежа (tuple packing/unpacking).
x, y = 20, 30
x, y = y, x
print('x is: ', x)
print('y is: ', y)
x is 30
y is 20
Также можно использовать оператор XOR (exclusive or), чтобы поменять переменные местами. Это трехшаговый метод. В примере ниже мы меняем местами значения x и y.
x = 20
y = 30
# шаг первый
x ^= y
# шаг второй
y ^= x
# шаг третий
x ^= y
print(f'x is: {x}')
print(f'y is: {y}')
x is: 30
y is: 20
Также можно использовать арифметические операции (сложение и вычитание), чтобы поменять переменные местами без временной переменной. Однако этот метод рекомендуется для обмена переменных числовых типов данных. Вот пример:
# Используем арифметические операции
x = 5
y = 10
x = x + y
y = x - y
x = x - y
print("After swapping:")
print("x =", x)
print("y =", y)
After swapping:
x = 10
y = 5
В результате этих арифметических операций значения x и y были фактически поменяны местами. После обмена x содержит исходное значение y (10), а y содержит исходное значение x (5).
Этот способ обмена переменных без временной переменной основан на том, что когда вы прибавляете или вычитаете значение одной переменной из другой, можно эффективно обменять их значения без необходимости в дополнительном хранилище.
👉 @PythonPortal #100daysofpython
44 · 6.6K ·