Что выведет код?
Anonymous Quiz
15%
[1, 2, 3] [1, 2, 4]
54%
[1, 2, 3, 4] [1, 2, 3, 4]
28%
[1, 2, 3] [1, 2, 3, 4]
3%
Error
Почему это важно
Задача демонстрирует разницу между мутацией объекта (𝚊𝚙𝚙𝚎𝚗𝚍, +=) и созданием нового объекта (+). При цепочке присваиваний с изменяемыми объектами легко получить неожиданное разделение состояния между переменными.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍6
Почему это важно
Это неочевидное поведение часто ломает код при портировании с Python 2 на 3. Решение — вынести значение в итерируемое: [𝚡 𝚏𝚘𝚛 𝚡 𝚒𝚗 [𝚡] 𝚏𝚘𝚛 𝚒 𝚒𝚗 𝚛𝚊𝚗𝚐𝚎(𝟹)] или использовать значение по умолчанию в лямбде.
Please open Telegram to view this post
VIEW IN TELEGRAM
🙈2👍1
Почему это важно
Один «лишний» символ, легко превращает значение в кортеж и ломает код далеко от места ошибки (например, при работе с dict, URL, числами), поэтому одноэлементные кортежи всегда лучше записывать явно как (𝚟𝚊𝚕𝚞𝚎,), а не полагаться на неочевидный синтаксис.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍1