Девман для питонистов
532 subscribers
144 photos
3 videos
186 links
Веб-разработка на Python. Канал от практиков.

Сайт школы Девман: https://dvmn.org/
Контакт для связи: @yulya_devman
Download Telegram
Давайте попробуем ответить на этот вопрос, не запуская приведенный фрагмент кода.

Казалось бы, код не должен работать, ведь булевые объекты True и False неизменяемы (immutable). В документации (Boolean Objects, PEP 683 – Immortal Objects, Using a Fixed Refcount) указано, что в Python эти объекты также являются «бессмертными» (immortal).

«The fundamental improvement here is that now an object can be truly immutable. »

Представленный в вопросе кусок кода не должен работать, так как мы не можем изменить значение неизменяемого объекта, и при запуске фрагмент должен выдавать ошибку.

➡️ Убедимся на практике, что мы правы. Запускаем код в интерпретаторе, ожидая увидеть наш любимый SyntaxError, иии… На экран вывелось Тrue is False. Внезапно? Мягко сказано!

🧐 Очень любопытно, погнали дальше смотреть в документацию модуля sys, выясним, что это за флаг такой — allow_boolean_assignment.

В документации нет даже намека на него. Ладно, возможно, дело не в нем.

➡️Закомментируем вторую строчку — код все равно работает.
import sys
# sys.allow_boolean_assignment = 1

Тrue = False
if Тrue:
print("Тrue is Тrue")
else:
print("Тrue is False")


➡️Перепишем код с нуля, оставив только последние пять строк. И получим SyntaxError: cannot assign to True, ту самую ошибку, которую мы и ожидали встретить изначально.

True = False
if True:
print("Тrue is Тrue")
else:
print("Тrue is False")


В чем же дело? Самые внимательные уже догадались, что проблема в строчке Тrue = False, а в частности в том, что английская T заменена на кириллическую Т.

И так бы я и посчитал это шуткой студента, если бы в процессе поисков мне не попалась на глаза статья с Хабра о проведении собеседований. Как раз в ней и встретился этот вопрос. Открываем ее и с первой строки понимаем, что весь приведенный в ней контент — один большой розыгрыш.

«В июле и августе 1991 года я, с подачи Гвидо Ван Россума, проводил технические интервью на позицию Middle Python Backend developer»


Догадались, что тут не так? Обратимся к Википедии и выясним, что первый релиз Python версии 0.9.0 состоялся 20 февраля 1991 года, то есть за 6 месяцев до предполагаемого интервью из статьи.

А вам слабо стать middle разработчиком на только что выпущенном языке за полгода? Я вот не уверен в своих силах. К сожалению, судя по комментариям под статьей, большинство пользователей не оценило тонкого юмора, сразу повесив на нее ярлык КГ/АМ.

С вами был Андрей Хазов, преподаватель в Девман. Надеюсь, что кейс покажется вам интересным и полезным, а вместо послесловия желаю вам:
⚡️не забывать про факт-чекинг и обращаться к первоисточникам;
⚡️поменьше подобных «каверзных» вопросов на собеседованиях!
1👍1
17-19 октября мы участвовали в форуме Innovation week и обещали вернуться с записью выступления. Возвращаемся! 🥳

👉 Запись на VK
👉 Запись на YouTube
👉 Презентация

Мы рассказали о нашем опыте разработки системы учета и ведения контактов и обсудили проблемы проектирования: как написать ТЗ, чтобы оно помогало развитию продукта, а не тянуло на дно 🔥

От нас выступили спикерами Евгений Евсеев — основатель и технический директор Devman и Артем Каменев — операционный директор подразделения заказной разработки PelidTeam.
🔥12🥰1
Посмотрев на формат уроков Девмана вам может показаться, что мы такое не рекомендуем и не практикуем… но хорошие книги и глубокое понимание механизмов работы языка очень важны. Да, прочитав книгу, вы не станете программистом. Но, не читая ничего по теории программирования и проектирования, сложно стать крутым программистом.

Мы опросили наших сотрудников и просто знакомых разработчиков, какие книги они прочитали и считают самыми ценными.

➡️ Делитесь в комментариях, какие книги читаете сейчас и какие из прочитанных считаете самыми интересными и полезными!
🔥11
Делимся историей нашего ученика Михаила, который рассказывает о своем опыте обучения на курсе «Профессия Middle Python/Django разработчик».

Михаил рассказывает о том, как пришел в программирование из отрасли полиграфии и стал ведущим разработчиком в PelidTeam — отделе заказной разработки Devman.

👉 Читайте статью и делитесь впечатлениями в комментариях
🔥5
Времена, когда веб-приложение делал разработчик в соло остались в прошлом. Продукты стали сложнее, темпы разработки и ожидания пользователей выросли.
Сейчас все чаще для разработки сколько-нибудь сложных веб-сервисов формируют команду из разных специалистов. Чем больше компания, тем больше специализаций в команде встречается.

➡️ Давайте разберемся, кто есть кто на примере того, как устроены команды на наших коммерческих проектах.
👍61