Что выведет код?
Anonymous Quiz
43%
[1, 2, 3] [4, 5]
4%
[4, 5] [1, 2, 3]
43%
[4, 5] [4, 5]
11%
Error
Почему это важно
Потом что [:] = — это не то же самое, что простое =, и любое незаметное срезовое присваивание может поменять список, который уже разделяют несколько переменных или даже разные части кода.
Please open Telegram to view this post
VIEW IN TELEGRAM
✍1
Весь год вы носили футболки и джинсы… Хватит!
Заглядывайте к нам в виртуальную примерочную и выбирайте себе идеальный скин для встречи Нового года!
Делитесь в комментариях, какой скин вам выпал 👀
Заглядывайте к нам в виртуальную примерочную и выбирайте себе идеальный скин для встречи Нового года!
Делитесь в комментариях, какой скин вам выпал 👀
🎉2
Почему это важно
Общий изменяемый атрибут класса легко превращается в неявный «shared state» между инстансами и рождает трудноуловимые баги; если список должен быть отдельным у каждого объекта, его нужно создавать в __init__ как 𝚜𝚎𝚕𝚏.𝚒𝚝𝚎𝚖𝚜 = [].
Please open Telegram to view this post
VIEW IN TELEGRAM
✍6
🤝6❤1
Почему это важно
Задача наглядно показывает, почему нельзя удалять элементы из списка во время итерации по нему: даже если кажется, что «всё должно удалиться», половина элементов останется. Безопасные альтернативы: итерация по копии 𝚏𝚘𝚛 𝚡 𝚒𝚗 𝚗𝚞𝚖𝚜[:], list comprehension [𝚡 𝚏𝚘𝚛 𝚡 𝚒𝚗 𝚗𝚞𝚖𝚜 𝚒𝚏 𝚡 % 𝟸 != 𝟶], или проход в обратном порядке.
Please open Telegram to view this post
VIEW IN TELEGRAM
❤2✍2
Почему это важно
Путаница между проверкой по ключам и по значениям часто ломает валидацию и условия: чтобы искать по значениям, нужно явно использовать "𝚘𝚗𝚎" 𝚒𝚗 𝚍.𝚟𝚊𝚕𝚞𝚎𝚜() или итерироваться по парам, а не надеяться на поведение по умолчанию.
Please open Telegram to view this post
VIEW IN TELEGRAM
Почему это важно
Ошибка [-𝚗:𝟶] вместо [-𝚗:] — частая ловушка при динамическом формировании срезов; результат всегда пуст, но ошибки не выбрасывается, и баг может долго оставаться незамеченным.
Please open Telegram to view this post
VIEW IN TELEGRAM
Канал по нейронкам, который часто пересекается с Python по темам: @neuro_channel
Веду его тоже я, так что если вам нравятся задачки здесь, то буду рад видеть вас и в «Нейроканале». Это всё часть медиа Tproger.
Три примечательных поста:
1️⃣ Про утилиту, которая автоматически снимает цензуру (safety alignment) с трансформерных языковых моделей без дообучения и ручного тюнинга.
2️⃣ Разбор сборки GPT‑OSS с нуля на чистом Python, без PyTorch и без GPU: последовательно с объяснениями от Softmax и RMSNorm до Grouped Query Attention.
3️⃣ Обзор трендов Hugging Face за неделю с супер-кратким описанием моделей, выходит регулярно.
Плюс новости о выходе новых нейронок, чтобы не пропустить ничего важного. Все свежие громкие релизы, чтобы вы могли читать только один канал. Иногда получается даже раньше официального запуска, чем я особенно горжусь :)
Заходите и подписывайтесь: @neuro_channel
Веду его тоже я, так что если вам нравятся задачки здесь, то буду рад видеть вас и в «Нейроканале». Это всё часть медиа Tproger.
Три примечательных поста:
Плюс новости о выходе новых нейронок, чтобы не пропустить ничего важного. Все свежие громкие релизы, чтобы вы могли читать только один канал. Иногда получается даже раньше официального запуска, чем я особенно горжусь :)
Заходите и подписывайтесь: @neuro_channel
Please open Telegram to view this post
VIEW IN TELEGRAM
❤1🙏1
Почему это важно
Правило: более специфичные исключения должны идти перед более общими. Иначе общий 𝚎𝚡𝚌𝚎𝚙𝚝 «съест» все ошибки, и специфичная обработка не сработает. В современном Python (3.11+) на это даже выдаётся SyntaxWarning. Да pyright подсветит, но в учебном примере я специально убрал подсветку.
Please open Telegram to view this post
VIEW IN TELEGRAM
✍1