Пусть a = 'привет', b = 'мир'. Что произойдёт после выполнения a, b = b, a?
AПеременные поменяются:
a станет 'мир', b станет 'привет'BБудет исключение
TypeError, потому что строки нельзя обменивать таким способомCОбе переменные станут
'мир', потому что b присвоится первым в aDОбе переменные станут
'привет', потому что a присвоится первым в bПравильный ответ. Запись
a, b = b, a использует кортежную распаковку для одновременного обмена значений переменных.Разбор
Python сначала вычисляет всю правую часть выражения b, a — создаёт кортеж ('мир', 'привет'). Затем распаковывает его в левую часть: a получает 'мир', b получает 'привет'. Промежуточная переменная не нужна. Это работает с любыми типами данных, не только со строками.
Проверь себя · 1/3разбор после ответа
Что вернёт
sorted(['слон', 'як', 'кот'], key=len)?Ещё вопросы по теме «Синтаксис и типы данных»
- Какой результат вернёт вызов `type(10)`?
- После выполнения `y = str(42)` чему равен `y` и какой у него тип?
- Какая проверка наиболее корректна, чтобы убедиться, что переменная `x` равна `None`?
- Чему равно значение `result` после выполнения `result = 3 < 5`?
- Что вернёт выражение `" Python ".strip()`?
- Все вопросы по «Синтаксис и типы данных» →