Как стать автором
Обновить

Комментарии 9

В pydantic мне ещё понравилось как они python код компилируют в .so в setup.py. Кто сказал, что python не компилируемый язык программирования*?

Спасибо за комментарий :)

Там компилируется код не на Python, а на Cython, который изначально был компилируемым. Строго говоря, это не совсем Python. Хотя да, в данном случае компилируется именно код на Python, так как Cython — его надмножество. Можно было бы получить бо́льшую производительность использовав возможности именно Cython, но автор всё равно решил следующую версию написать на Rust. :)

Компиляторы именно Python (не над- или подмножеств) тоже есть. Например, Nuitka. К сожалению, особенности Python не дают возможности получить большую выгоду от компиляции в общем случае. Хотя если добавить ограничения, то может получится очень даже неплохо, как в случае с Numba.

Да-да, именно поэтому я поставил звёздочку.

>Исправить это можно вызовом super() в BaseEstimator, и DecisionTree заработает, как ожидалось...

Миксин можно поставить слева, и обойтись без непонятного super в родительском классе

Ёкарный бабай! Не могу молчать

Специалист в Data Science из Amazon буквально прочитал код самых распространённых библиотек Python. В этом материале он делится секретами работы с Python

Что из вышеперечисленного является секретом? Это же просто цитирование учебника. Специалист хоть один учебный материал по питону читал прежде чем "читать код популярных библиотек"?

Вот некоторые необычные способы работы с Python

Какие к черту необычные способы? Что же тогда для автора "обычные" способы. Это умственно отсталый писал, такое чувство

  1. В первом пункте показана борьба за то, чтоб корректно инициализировалось состояние миксина, а во втором пункте миксин описывается как класс без состояния.

  2. Обоснование относительного импорта — вообще очень странное. Используйте относительный импорт .utils так как без точки Python не найдет модуль utils. Так он и не должен. Ну хоть нет совета добавить его в sys.path. :)

  3. О том, почему не стоит использовать относительные импорта написано уже много, скажу лишь, что согласно PEP-8 и Google Python Style Guide относительный import использовать строго не рекомендуется.

  4. Очень странно, что специалист из Amazon не знал о том, как использовать __init__.py. Тут можно добавить рекомендацию явно заполнять список импортов __all__, чтоб, например, isort/zimports не удалили неиспользуемые импорты.

  5. Остальные пункты тоже вызывают сомнения в опытности разработчика.

  6. Упомянутый fastai (не путать с fastapi) печально известен низким качеством кода. Я б не советовал использовать его как образец для подражания.

Никогда не добавляйте код, меняющий настройки логирования, в ту часть, что выполняется при импорте. По крайней мере в библиотеках. Иначе потом будет подгорать в попытке понять, почему изменение настроек логгера перестает работать при появлении зависимости, в которой автор что-то натворил с логированием

О, да! Натыкался на такое!

Зарегистрируйтесь на Хабре, чтобы оставить комментарий