Что выведет этот код? 💻🐍
Anonymous Quiz
0%
[[0, 2], [1], [0, 2]]
100%
[[1], [1], [1]]
0%
[[0, 2], [0, 2], [0, 2]]
0%
[[1], [0, 2], [0, 2]]
Python Quiz
Что выведет этот код? 💻🐍
Учится мутабельности: как умножение списков копирует ссылки, а не сами объекты.
Нужно на работе и на собеседованиях, чтобы не попасться на скрытые side‑эффекты и не подмести баги под ковер.
lst = [[0]] * 3 создаёт три ссылки на один внутренний список; .append меняет этот объект для в…
Нужно на работе и на собеседованиях, чтобы не попасться на скрытые side‑эффекты и не подмести баги под ковер.
Что выведет этот код? 🧠💡
Anonymous Quiz
0%
Напечатает 1 и 2 (в любом порядке)
100%
Напечатает 1 и 1
0%
Напечатает 2 и 2
0%
Будет исключение AttributeError в обоих потоках
Python Quiz
Что выведет этот код? 🧠💡
Чему учит: поведение threading.local — атрибуты локальны для потока.
Зачем важно: помогает избегать скрытых багов в многопоточном многопоточном коде и часто спрашивают на собеседованиях.
Каждый поток имеет своё пространство атрибутов в local(); не полагайтесь на общие объекты.[[/SPOI…
Зачем важно: помогает избегать скрытых багов в многопоточном многопоточном коде и часто спрашивают на собеседованиях.
Что выведет этот код? ⚙️💻
Anonymous Quiz
0%
Вывод: 3 3
0%
Вывод: None 3
0%
Вывод: 3 KeyError
0%
Вывод: KeyError 3
Python Quiz
Что выведет этот код? ⚙️💻
Чему учит: отличать dict.get и dict.setdefault и замечать их побочные эффекты при инициализации ключей.
Зачем важно: помогает писать предсказуемый код и не ловить сюрпризы на собеседовании.
setdefault создаёт ключ со значением по умолчанию и возвращает его; get сам по себе ключ не со…
Зачем важно: помогает писать предсказуемый код и не ловить сюрпризы на собеседовании.
Что выведет этот код? 🧠🤔
Anonymous Quiz
0%
Выведет: True 2
0%
Выведет: True 1
100%
Выведет: False 1
0%
Выведет: False 2
Python Quiz
Что выведет этот код? 🧠🤔
Чему учит: разница между тождественностью объекта (is) и равенством значений (==), и что namedtuple не меняется на месте.
Зачем: пригодится на собеседованиях и чтобы не терять баги из‑за ожиданий мутабельности. 😺
_replace создаёт новый экземпляр; is проверяет, один ли это объект, == …
Зачем: пригодится на собеседованиях и чтобы не терять баги из‑за ожиданий мутабельности. 😺
Python Quiz
Что выведет этот код? ⚙️🐍
Чему учит: поведение __eq__ и __hash__ при добавлении объектов в set.
Зачем важно: нужно для корректной дедупликации, проектирования типов и на собеседованиях про хэш‑контракт.
Подсказка:set сначала смотрит __hash__, затем вызывает __eq__ для объектов с одинаковым хэшем.
Зачем важно: нужно для корректной дедупликации, проектирования типов и на собеседованиях про хэш‑контракт.
Подсказка:
Что выведет этот код? 🧠🤔
Anonymous Quiz
0%
[(1, 2), (3, 4)]
50%
[(0, 1), (2, 3), (4, 5)]
50%
[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5)]
0%
[(1, 2), (2, 3), (3, 4)]
Python Quiz
Что выведет этот код? 🧠🤔
Учит: поведение генераторов, состояние итератора после next() и как zip обрабатывает один и тот же итератор.
Зачем важно: помогает не допускать едва заметных багов в проде и блеснуть на собеседовании знанием итераторов.
next(gen) сдвигает итератор на один; zip(gen, gen) берёт элемент…
Зачем важно: помогает не допускать едва заметных багов в проде и блеснуть на собеседовании знанием итераторов.
Python Quiz
Что выведет этот код? 💡🧠
Чему учит: f‑строки с динамической шириной — как подставлять спецификатор формата через { } и контролировать заполнение.
Зачем важно: полезно для аккуратного вывода чисел в логах/отчётах и на собеседованиях, где проверяют синтаксис. 😺
'0' перед шириной — символ заполнителя нулями; {w…
Зачем важно: полезно для аккуратного вывода чисел в логах/отчётах и на собеседованиях, где проверяют синтаксис. 😺
JIT в Python могут выпилить — и не потому что он глючит
Полгода никто не чесался — JIT спокойно жил в main с 3.13, разгонял x86-64/Linux в среднем на 8-9% и должен был стать одной из витрин 3.15 (тот уже во freeze, релиз в октябре). А 5 июня Steering Council внезапно нажал стоп.
Причина не техническая. Всё это держится на PEP 744, а он informational, не standards-track — то есть юридически никого ни к чему не обязывает: ни к поддержке, ни к метрикам успеха, ни к обещаниям совместимости. Совет сам признал: "мы не были достаточно строги к процессу для изменения такого масштаба".
Дали полгода: либо нормальный normative PEP с критериями принятия, либо код едет из main. Баги и security чинят как обычно, новые фичи — заморожены. Томас Воутерс из совета: "we're not unreasonable, but we do want this to be taken seriously" — не расстрельный дедлайн, но и не формальность для галочки.
Мне это скорее нравится, хоть и с опозданием. Три релиза фича жила без единого письменного обязательства на случай, если что-то пойдёт не так. Спохватились бы раньше — меньше народу сейчас зависело бы от undocumented behavior.
Полгода никто не чесался — JIT спокойно жил в main с 3.13, разгонял x86-64/Linux в среднем на 8-9% и должен был стать одной из витрин 3.15 (тот уже во freeze, релиз в октябре). А 5 июня Steering Council внезапно нажал стоп.
Причина не техническая. Всё это держится на PEP 744, а он informational, не standards-track — то есть юридически никого ни к чему не обязывает: ни к поддержке, ни к метрикам успеха, ни к обещаниям совместимости. Совет сам признал: "мы не были достаточно строги к процессу для изменения такого масштаба".
Дали полгода: либо нормальный normative PEP с критериями принятия, либо код едет из main. Баги и security чинят как обычно, новые фичи — заморожены. Томас Воутерс из совета: "we're not unreasonable, but we do want this to be taken seriously" — не расстрельный дедлайн, но и не формальность для галочки.
Мне это скорее нравится, хоть и с опозданием. Три релиза фича жила без единого письменного обязательства на случай, если что-то пойдёт не так. Спохватились бы раньше — меньше народу сейчас зависело бы от undocumented behavior.
👍1