Пусть a = 'привет', b = 'мир'. Что произойдёт после выполнения a, b = b, a?

AПеременные поменяются: a станет 'мир', b станет 'привет'
BБудет исключение TypeError, потому что строки нельзя обменивать таким способом
CОбе переменные станут 'мир', потому что b присвоится первым в a
DОбе переменные станут 'привет', потому что a присвоится первым в b
Правильный ответ. Запись a, b = b, a использует кортежную распаковку для одновременного обмена значений переменных.

Разбор

Python сначала вычисляет всю правую часть выражения b, a — создаёт кортеж ('мир', 'привет'). Затем распаковывает его в левую часть: a получает 'мир', b получает 'привет'. Промежуточная переменная не нужна. Это работает с любыми типами данных, не только со строками.

Проверь себя · 1/3разбор после ответа
Что вернёт sorted(['слон', 'як', 'кот'], key=len)?
Тренировать Python в Telegram

Ещё вопросы по теме «Синтаксис и типы данных»