В чате Типичного Программиста человек скинул вступительные вопросы на IT магистратуру в Украине.
Перевод:
CPython заранее создает и хранит объекты под числа в диапазоне [-5, 256], потому именно этот код создаст только две ссылки, притом на уже существующий объект, в котором хранится число 100.
Пруфы: ссылка на обсуждение целых чисел в питоне на Stackoverflow, и код объекта, представляющего целое число на гитхабе.
Как я понимаю, в случае, если бы было число вне этого диапазона, был бы создан один объект (само число) и две ссылки (т.е. вариант B)
В общем, вопрос "Что курил голландец Гвидо Ван Россум, когда придумывал питон?" остается открытым.
#python
Перевод:
Сколько объектов и сколько ссылок создается в приведенном фрагменте кода на языке Python?
n=100
m=n
A) один объект, одна ссылка
B) один объект, две ссылки
C) два объекта, одна ссылка
D) два объекта, две ссылки
Самое прикольное в этом вопросе... что ни один из вариантов неправилен (по крайней мере для стандартного интерпретатора CPython).CPython заранее создает и хранит объекты под числа в диапазоне [-5, 256], потому именно этот код создаст только две ссылки, притом на уже существующий объект, в котором хранится число 100.
Пруфы: ссылка на обсуждение целых чисел в питоне на Stackoverflow, и код объекта, представляющего целое число на гитхабе.
Как я понимаю, в случае, если бы было число вне этого диапазона, был бы создан один объект (само число) и две ссылки (т.е. вариант B)
В общем, вопрос "Что курил голландец Гвидо Ван Россум, когда придумывал питон?" остается открытым.
#python
Некоторое время назад потыкал питоновские фреймворки на предмет быстрого создания веб апи. Мои требования:
1. Сваггер с описаниями методов и полей.
2. Типизированные модели, чтобы всякий мусор присылаемых извне отваливался на этапе десериализации.
3. Упаковка проекта в докер, желательно из коробки.
Этот набор требований - то что в c# даётся из коробки в шаблоне проекта.
Сначала я попробовал по старой памяти потыкать Flask. Читаю про сваггер. Можно подключить его десятком разных способов, в некоторых случаях мне предлагают прицепить yml описание методов.
Посмотрел в Django. Оказывается все не так плохо как несколько лет назад: туда завезли асинхронщину, не прошло и 10 лет. Сваггер описывается вроде нормально. Но тащить весь джанговский зверинец вместе с MVC для легковесной апишки мне запрещают религиозные убеждения. Плюс Django надо отдельно изучать, шарповый опыт не особо помогает понимать происходящее.
Попробовал новую для меня библиотеку - FastApi. Она вошла в употребление уже после того, как я полностью ушел от питона и она меня приятно удивила: все мои требования были удовлетворены в течении часа.
Все бы ничего, но возник вопрос: а питон - это точно про сделать что-то без боли и мучений?
#python
1. Сваггер с описаниями методов и полей.
2. Типизированные модели, чтобы всякий мусор присылаемых извне отваливался на этапе десериализации.
3. Упаковка проекта в докер, желательно из коробки.
Этот набор требований - то что в c# даётся из коробки в шаблоне проекта.
Сначала я попробовал по старой памяти потыкать Flask. Читаю про сваггер. Можно подключить его десятком разных способов, в некоторых случаях мне предлагают прицепить yml описание методов.
Посмотрел в Django. Оказывается все не так плохо как несколько лет назад: туда завезли асинхронщину, не прошло и 10 лет. Сваггер описывается вроде нормально. Но тащить весь джанговский зверинец вместе с MVC для легковесной апишки мне запрещают религиозные убеждения. Плюс Django надо отдельно изучать, шарповый опыт не особо помогает понимать происходящее.
Попробовал новую для меня библиотеку - FastApi. Она вошла в употребление уже после того, как я полностью ушел от питона и она меня приятно удивила: все мои требования были удовлетворены в течении часа.
Все бы ничего, но возник вопрос: а питон - это точно про сделать что-то без боли и мучений?
#python
😁6👍1🤣1