Python без границ для всех
Владелец, реклама @Ak_Mihail
Преобрести рекламное размещение: https://telega.in/c/Python_libr
Post #3773
34
This post (sticker, poll or similar) has no web preview. Open in Telegram
PY @python_libr
This post (sticker, poll or similar) has no web preview. Open in Telegram

collections.abc
У классов есть магические методы и каждый такой метод образует объект определённого типа: __call__ — Callable (функцию), __len__ — Sized.
This post (sticker, poll or similar) has no web preview. Open in Telegram


__debug__
Если скрипт не запущен с аргументом -O, у константы будет значение True. В таком случае выражение assert выполнится всегда.__debug__ значение False, выполнив скрипт с -O и ускорить работу проекта, убрав проверку на ошибки с assert. SyntaxError в Python 3.10+ или NameError.

-X dev при запуске скрипта. Выводит предупреждения, если разработчик что-то делает не так:str.encode()
- неправильно пользуется памятью




except LookupError раньше чем except IndexError, то второй обработчик никогда не сработает, ошибку обработает первый except.except OSError поверх FileExistsError.
raise ... from exc, сохраняется в __cause__. Если ошибка произошла во время выполнения try/except, то она запишется в __context__. 



contextlib.contextmanager
Чтобы сделать переход из одной папки в другу с использованием with потребуется класс на 10 строк кода. Ситуация исправляется декоратором contextmanager.@contextmanager на функцию и она станет доступна для работы с with. Теперь, для того же перехода, нужно 7 строк кода.

python3 -m venv venv.