Как запретить наследование
Код выше не выдаёт ошибку если программист пытается наследоваться от конечного класса.
Внутри модуля
#теория
Код выше не выдаёт ошибку если программист пытается наследоваться от конечного класса.
__init_subclass__
вызывается для инициализации подкласса. Метод выдаёт ошибку и останавливает выполнение.Внутри модуля
typing
есть декоратор final
, но он только предупреждает программиста, что наследоваться от этого класса не стоит.#теория
❤11👍2
from contextlib import suppress
Функция подавляет ошибку. Это похоже на try: ... except AnyException: pass
, но работает с with и выглядит намного лаконичнее, понятнее.#теория
👍15😁2
Тесты в документации
Подход позволяет другому программисту понять как работает функция в определённых ситуациях, а вам — протестировать её функционал.
Реализуется фича встроенным модулем doctest. Он ищет текст, который выглядит как интерактивный сеанс Python (>>>, ... и подобные символы), запускает их и сравнивает вывод.
Можно запускать тесты так же, как в примере, или с помощью терминала:
#миниурок #doctest
Подход позволяет другому программисту понять как работает функция в определённых ситуациях, а вам — протестировать её функционал.
Реализуется фича встроенным модулем doctest. Он ищет текст, который выглядит как интерактивный сеанс Python (>>>, ... и подобные символы), запускает их и сравнивает вывод.
Можно запускать тесты так же, как в примере, или с помощью терминала:
python -m doctest -v example.py
.#миниурок #doctest
👍8
pickle
Встроенный модуль позволяет сохранять объекты в виде потока байтов и сохранять в файл, а после загружать его обратно в память в виде объекта.
У pickle есть серьёзный недостаток: он небезопасен. Если есть возможность, лучше использовать другой формат: JSON, например. Сравнение JSON с pickle.
#lesson
Встроенный модуль позволяет сохранять объекты в виде потока байтов и сохранять в файл, а после загружать его обратно в память в виде объекта.
У pickle есть серьёзный недостаток: он небезопасен. Если есть возможность, лучше использовать другой формат: JSON, например. Сравнение JSON с pickle.
#lesson
👍8
Как поживает ваш питон?
Не могу судить по предпочтениям, но уже стоит переходить с Python2 на Python3. Если лень переписывать код, то просто запустите 2to3.
Всё правильно, это ретранслятор, который переводит Python код с второй версии на третью.
P.S. Возможно придётся установить доп. модуль. Например, на OpenSuse, пришлось выполнить
#теория
Не могу судить по предпочтениям, но уже стоит переходить с Python2 на Python3. Если лень переписывать код, то просто запустите 2to3.
Всё правильно, это ретранслятор, который переводит Python код с второй версии на третью.
P.S. Возможно придётся установить доп. модуль. Например, на OpenSuse, пришлось выполнить
sudo zypper install python3-tools
.#теория
👍8😁2🤬1🤡1
for x[0] in x
for работает довольно просто, он задаёт следующие значение переданной переменной и выполняет код внутри блока. Так у нас меняется первый элемент списка, который мы и выводим.#объяснение
👍13🤯11👎1🤩1
yarl
Это библиотека для работы с URL ссылками, она разделяет ссылку на схему, пользователя, пароль, хост и путь. Так с её помощью собирают информацию из ссылки или проводят валидацию.
📌 Документация
#теория
Это библиотека для работы с URL ссылками, она разделяет ссылку на схему, пользователя, пароль, хост и путь. Так с её помощью собирают информацию из ссылки или проводят валидацию.
📌 Документация
#теория
👍10
Представляем вам подборку всех топовых нейро-ботов в Telegram без лимитов на использования.
🎯Пользуемся:
@Stable_Diffusion_bot - способен раздеть твою подругу в 5 кликов за 1 минуту. Напрочь отсутствует цензура.
@ChatGPT-4_bot (абсолютно безлимитный)
@Midjourney_bot (лимит 47 генераций в день)
@X.AI_bot - стремительно набирает хайп. Новая нейросеть от Илона Маска. Славится тем, что у неё присутствует сознание!(бета-версия)
@DALL-E-2_bot
🎯Пользуемся:
@Stable_Diffusion_bot - способен раздеть твою подругу в 5 кликов за 1 минуту. Напрочь отсутствует цензура.
@ChatGPT-4_bot (абсолютно безлимитный)
@Midjourney_bot (лимит 47 генераций в день)
@X.AI_bot - стремительно набирает хайп. Новая нейросеть от Илона Маска. Славится тем, что у неё присутствует сознание!(бета-версия)
@DALL-E-2_bot
🤡23💩2👍1
ChatGPT помогает взламывать программистов
Около 100 из 400 вопросов содержали ссылки на уже несуществующие пакеты Python или Node.js, которые злоумышленники могут зарегистрировать и использовать в своих целях.
Специалисты показали как такая схема будет работать на практике. Программисты, задающие похожие вопросы, могут установить вирус и при этом ничего не подозревать.
#офтоп
Около 100 из 400 вопросов содержали ссылки на уже несуществующие пакеты Python или Node.js, которые злоумышленники могут зарегистрировать и использовать в своих целях.
Специалисты показали как такая схема будет работать на практике. Программисты, задающие похожие вопросы, могут установить вирус и при этом ничего не подозревать.
#офтоп
❤1
IPython
Улучшенная интерактивная оболочка Python. Она предоставляет больше возможностей, подсветку кода и автоматическое дополнение.
Оболочка хороша, если вы часто тестируете фичи Python или работаете с Jupyter Notebook. Но удобнее всего проверять скорость команд с
#теория
Улучшенная интерактивная оболочка Python. Она предоставляет больше возможностей, подсветку кода и автоматическое дополнение.
Оболочка хороша, если вы часто тестируете фичи Python или работаете с Jupyter Notebook. Но удобнее всего проверять скорость команд с
%timeit
.#теория
👍4
Rust & Python
Нашёл интересную статью на тему того, как внедрить Rust в Python и ускорить тем самым выполнение приложения в несколько раз. Конечно же, на английском.
Приятного чтения
Нашёл интересную статью на тему того, как внедрить Rust в Python и ускорить тем самым выполнение приложения в несколько раз. Конечно же, на английском.
Приятного чтения
collections.abcНабор абстрактных классов для контейнеров. Их используют для создания интерфейсов или как Type hints.
Fun fact: новый класс не обязан наследоваться от Sequence, ему достаточно реализовать те же методы и
issubclass(C, Sequence)
вернёт True. Такой подход ещё называют утиной типизацией: «Если оно ходит как утка и крякает как утка, то, наверное, это утка».
📌 Документация
#теория
👍5🔥2
Особенность math — почти все его функции возвращают float
Например, если сравнивать
#lesson
Например, если сравнивать
math.pow()
, встроенный pow()
и x ** 2
, то первая функция всегда вернёт тип float, в то время как две другие, по возможности, вернут int.#lesson
👍13❤2
apscheduler
Библиотека для откладывания задач на потом и обработки их в фоне. Она намного лучше встроенного
#lesson
Библиотека для откладывания задач на потом и обработки их в фоне. Она намного лучше встроенного
sched
, поскольку позволяет запускать асинхронные обработчики и хранить задачи в базе данных (Redis, MongoDB).#lesson
👍10
Простая визуализация данных
Фреймворк
В основном, используется для построения графиков, визуализации данных и т.д. Посмотреть пример можно введя:
#теория
Фреймворк
streamlit
позволяет быстро создать красивую страницу, даже если у вас нет навыков Frontend разработки.В основном, используется для построения графиков, визуализации данных и т.д. Посмотреть пример можно введя:
streamlit hello
.#теория
👍11
Режим разработчика
Этот режим включает дополнительные проверки, которые слишком требовательны, чтобы работать по умолчанию.
Например, Python проверяет, закрыл ли программист файл, обработал ли корутину (asyncio), перезаполнение буфера и т.д.
📌 Документация
#теория
Этот режим включает дополнительные проверки, которые слишком требовательны, чтобы работать по умолчанию.
Например, Python проверяет, закрыл ли программист файл, обработал ли корутину (asyncio), перезаполнение буфера и т.д.
📌 Документация
#теория
👍14❤2