У Python є лаконічний прийом, який дозволяє міняти місцями значення змінних — і навіть кількох елементів масиву — в один рядок коду. Канал Tech With Tim демонструє, як замінити класичний підхід із тимчасовою змінною на більш «пайтонічний» синтаксис розпакування кортежів.
![]()
Класичний спосіб: тимчасова змінна і три рядки
У багатьох мовах програмування обмін значень двох змінних виглядає так:
temp = a
a = b
b = temp
Тут створюється додаткова змінна temp, яка тимчасово зберігає значення a. Підхід працює, але:
- займає три рядки;
- захаращує простір імен зайвою змінною;
- погано масштабується, якщо потрібно міняти місцями більше двох значень.
Для простих операцій це виглядає надмірно, особливо в мовах, які підтримують більш виразні конструкції.
Пайтонічний обмін: один рядок через розпакування
У Python те саме можна записати в один рядок:
a, b = b, a
Цей синтаксис спирається на кортежі та розпакування послідовностей:
- праворуч створюється кортеж
(b, a); - ліворуч цей кортеж розпаковується в змінні
aтаb.
У результаті значення змінних міняються місцями без явної тимчасової змінної в коді, а запис залишається читабельним і компактним.
Переваги такого підходу:
- менше коду;
- немає ризику «забути» очистити або не так використати тимчасову змінну;
- чітко видно намір — саме обмін значень.
Обмін кількох значень і робота з елементами масивів
Синтаксис із комами не обмежується лише двома змінними. Можна міняти місцями одразу кілька значень, просто перерахувавши їх:
a, b, c = c, a, b
Аналогічно працює й з елементами масивів (списків):
arr[0], arr[1] = arr[1], arr[0]
Тут відбувається обмін значень між arr[0] та arr[1] без додаткових змінних. Python дозволяє комбінувати змінні та індекси в одному присвоєнні:
a, arr[2] = arr[0], a
У цьому прикладі:
aотримує значенняarr[0];arr[2]отримує попереднє значенняa.
Важливий момент: такий запис працює не лише для списків, а й для більшості об’єктів, які підтримують індексацію або доступ до елементів.
Менше коду — більше ясності
Однорядковий обмін значень через конструкцію a, b = b, a — типовий приклад «пайтонічного» стилю: мінімум синтаксису, максимум виразності. Він:
- спрощує код;
- зменшує кількість допоміжних змінних;
- добре масштабується на кілька змінних та елементів структур даних.
Для щоденної роботи з Python це один із базових прийомів, який варто зробити звичкою — особливо там, де раніше автоматично тягнулася рука до temp.
Джерело
YouTube: https://www.youtube.com/watch?v=my5TOaiJVX0


