Python: задачки и вопросы
7.45K subscribers
1.3K photos
1 video
1 file
121 links
Вопросы и задачки для подготовки к собеседованиям и прокачки навыков

Разместить рекламу: @tproger_sales_bot

Правила общения: https://tprg.ru/rules

Другие каналы: @tproger_channels

Другие наши проекты: https://tprg.ru/media
Download Telegram
Развёрнутое пояснение

1️⃣Создаётся список 𝚗𝚞𝚖𝚜 = [𝟷, 𝟸, 𝟹], переменная 𝚊 получает ссылку на тот же самый объект: и 𝚊, и 𝚗𝚞𝚖𝚜 указывают на один список.

2️⃣Выражение 𝚗𝚞𝚖𝚜[:] = [𝟺, 𝟻] — это именно срезовое присваивание: левая часть берёт весь список как срез, а правая заменяет его содержимое элементами из нового списка.

3️⃣В результате исходный объект списка переписывается на [𝟺, 𝟻], но ссылка 𝚊 по‑прежнему указывает на него же, так что и 𝚊, и 𝚗𝚞𝚖𝚜 теперь содержат один и тот же список [𝟺, 𝟻].

4️⃣𝚙𝚛𝚒𝚗𝚝(𝚊, 𝚗𝚞𝚖𝚜) печатает [4, 5] [4, 5].

Почему это важно
Потом что [:] = — это не то же самое, что простое =, и любое незаметное срезовое присваивание может поменять список, который уже разделяют несколько переменных или даже разные части кода.
Please open Telegram to view this post
VIEW IN TELEGRAM
1
Весь год вы носили футболки и джинсы… Хватит!

Заглядывайте к нам в виртуальную примерочную и выбирайте себе идеальный скин для встречи Нового года!

Делитесь в комментариях, какой скин вам выпал 👀
🎉1