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

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

Разбор

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

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

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