Каким, по-вашему, будет результат работы этой программы?
Anonymous Poll
16%
True is True
48%
True is False
6%
Выдаст ошибку в строке sys.allow_boolean_assignment = 1
29%
Выдаст ошибку в строке Тrue = False
👍1
Давайте попробуем ответить на этот вопрос, не запуская приведенный фрагмент кода.
Казалось бы, код не должен работать, ведь булевые объекты True и False неизменяемы (immutable). В документации (Boolean Objects, PEP 683 – Immortal Objects, Using a Fixed Refcount) указано, что в Python эти объекты также являются «бессмертными» (immortal).
Представленный в вопросе кусок кода не должен работать, так как мы не можем изменить значение неизменяемого объекта, и при запуске фрагмент должен выдавать ошибку.
➡️ Убедимся на практике, что мы правы. Запускаем код в интерпретаторе, ожидая увидеть наш любимый SyntaxError, иии… На экран вывелось
🧐 Очень любопытно, погнали дальше смотреть в документацию модуля sys, выясним, что это за флаг такой —
В документации нет даже намека на него. Ладно, возможно, дело не в нем.
➡️Закомментируем вторую строчку — код все равно работает.
➡️Перепишем код с нуля, оставив только последние пять строк. И получим SyntaxError: cannot assign to True, ту самую ошибку, которую мы и ожидали встретить изначально.
В чем же дело? Самые внимательные уже догадались, что проблема в строчке
И так бы я и посчитал это шуткой студента, если бы в процессе поисков мне не попалась на глаза статья с Хабра о проведении собеседований. Как раз в ней и встретился этот вопрос. Открываем ее и с первой строки понимаем, что весь приведенный в ней контент — один большой розыгрыш.
Догадались, что тут не так? Обратимся к Википедии и выясним, что первый релиз Python версии 0.9.0 состоялся 20 февраля 1991 года, то есть за 6 месяцев до предполагаемого интервью из статьи.
❓А вам слабо стать middle разработчиком на только что выпущенном языке за полгода? Я вот не уверен в своих силах. К сожалению, судя по комментариям под статьей, большинство пользователей не оценило тонкого юмора, сразу повесив на нее ярлык КГ/АМ.
С вами был Андрей Хазов, преподаватель в Девман. Надеюсь, что кейс покажется вам интересным и полезным, а вместо послесловия желаю вам:
⚡️не забывать про факт-чекинг и обращаться к первоисточникам;
⚡️поменьше подобных «каверзных» вопросов на собеседованиях!
Казалось бы, код не должен работать, ведь булевые объекты 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.
👉 Запись на VK
👉 Запись на YouTube
👉 Презентация
Мы рассказали о нашем опыте разработки системы учета и ведения контактов и обсудили проблемы проектирования: как написать ТЗ, чтобы оно помогало развитию продукта, а не тянуло на дно 🔥
От нас выступили спикерами Евгений Евсеев — основатель и технический директор Devman и Артем Каменев — операционный директор подразделения заказной разработки PelidTeam.
VK Видео
Доклад PelidTeam на Innovation Week 2024. Как сделать свою систему учета контрактов и не сойти с ума
Рассказываем про кейс разработки кастомного веб-сервиса для учета заказов. Делимся лайфхаками, как сделать так, чтобы техническое задание на ИТ-продукт помогало бизнесу, а не висело мертвым грузом. Мы в интернете: http://pelidteam.ru http://t.me/pelidteam…
🔥12🥰1
Посмотрев на формат уроков Девмана вам может показаться, что мы такое не рекомендуем и не практикуем… но хорошие книги и глубокое понимание механизмов работы языка очень важны. Да, прочитав книгу, вы не станете программистом. Но, не читая ничего по теории программирования и проектирования, сложно стать крутым программистом.
Мы опросили наших сотрудников и просто знакомых разработчиков, какие книги они прочитали и считают самыми ценными.
➡️ Делитесь в комментариях, какие книги читаете сейчас и какие из прочитанных считаете самыми интересными и полезными!
Мы опросили наших сотрудников и просто знакомых разработчиков, какие книги они прочитали и считают самыми ценными.
➡️ Делитесь в комментариях, какие книги читаете сейчас и какие из прочитанных считаете самыми интересными и полезными!
🔥11
Делимся историей нашего ученика Михаила, который рассказывает о своем опыте обучения на курсе «Профессия Middle Python/Django разработчик».
Михаил рассказывает о том, как пришел в программирование из отрасли полиграфии и стал ведущим разработчиком в PelidTeam — отделе заказной разработки Devman.
👉 Читайте статью и делитесь впечатлениями в комментариях
Михаил рассказывает о том, как пришел в программирование из отрасли полиграфии и стал ведущим разработчиком в PelidTeam — отделе заказной разработки Devman.
👉 Читайте статью и делитесь впечатлениями в комментариях
🔥5
Времена, когда веб-приложение делал разработчик в соло остались в прошлом. Продукты стали сложнее, темпы разработки и ожидания пользователей выросли.
Сейчас все чаще для разработки сколько-нибудь сложных веб-сервисов формируют команду из разных специалистов. Чем больше компания, тем больше специализаций в команде встречается.
➡️ Давайте разберемся, кто есть кто на примере того, как устроены команды на наших коммерческих проектах.
Сейчас все чаще для разработки сколько-нибудь сложных веб-сервисов формируют команду из разных специалистов. Чем больше компания, тем больше специализаций в команде встречается.
➡️ Давайте разберемся, кто есть кто на примере того, как устроены команды на наших коммерческих проектах.
👍6❤1