Разъяснивший Python
8.18K subscribers
2.43K photos
40 videos
30 files
2.28K links
Твой проводник в омут Python'а

Ссылка: @Portal_v_IT

Сотрудничество: @oleginc, @tatiana_inc

Канал на бирже: https://telega.in/c/python_pssss
Download Telegram
Тесты в документации

Подход позволяет другому программисту понять как работает функция в определённых ситуациях, а вам — протестировать её функционал.

Реализуется фича встроенным модулем doctest. Он ищет текст, который выглядит как интерактивный сеанс Python (>>>, ... и подобные символы), запускает их и сравнивает вывод.

Можно запускать тесты так же, как в примере, или с помощью терминала: python -m doctest -v example.py.

#миниурок #doctest
👍8
pickle

Встроенный модуль позволяет сохранять объекты в виде потока байтов и сохранять в файл, а после загружать его обратно в память в виде объекта.

У pickle есть серьёзный недостаток: он небезопасен. Если есть возможность, лучше использовать другой формат: JSON, например. Сравнение JSON с pickle.

#lesson
👍8
Как поживает ваш питон?

Не могу судить по предпочтениям, но уже стоит переходить с 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 ссылками, она разделяет ссылку на схему, пользователя, пароль, хост и путь. Так с её помощью собирают информацию из ссылки или проводят валидацию.

📌 Документация

#теория
👍10
Представляем вам подборку всех топовых нейро-ботов в Telegram без лимитов на использования.

🎯Пользуемся:

@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, которые злоумышленники могут зарегистрировать и использовать в своих целях.

Специалисты показали как такая схема будет работать на практике. Программисты, задающие похожие вопросы, могут установить вирус и при этом ничего не подозревать.

#офтоп
1
IPython

Улучшенная интерактивная оболочка Python. Она предоставляет больше возможностей, подсветку кода и автоматическое дополнение.

Оболочка хороша, если вы часто тестируете фичи Python или работаете с Jupyter Notebook. Но удобнее всего проверять скорость команд с %timeit.

#теория
👍4
Rust & Python

Нашёл интересную статью на тему того, как внедрить Rust в Python и ускорить тем самым выполнение приложения в несколько раз. Конечно же, на английском.

Приятного чтения
Вот почему Stack Overflow незаменим
👍27🔥6😁4
python.pdf
54 KB
Roadmap по Python, начиная с базового синтаксиса и заканчивая тестированием
👍8
collections.abc

Набор абстрактных классов для контейнеров. Их используют для создания интерфейсов или как Type hints.

Fun fact: новый класс не обязан наследоваться от Sequence, ему достаточно реализовать те же методы и issubclass(C, Sequence) вернёт True.

Такой подход ещё называют утиной типизацией: «Если оно ходит как утка и крякает как утка, то, наверное, это утка».

📌 Документация

#теория
👍5🔥2
Особенность math — почти все его функции возвращают float

Например, если сравнивать math.pow(), встроенный pow() и x ** 2, то первая функция всегда вернёт тип float, в то время как две другие, по возможности, вернут int.

#lesson
👍132
apscheduler

Библиотека для откладывания задач на потом и обработки их в фоне. Она намного лучше встроенного sched, поскольку позволяет запускать асинхронные обработчики и хранить задачи в базе данных (Redis, MongoDB).

#lesson
👍10
Простая визуализация данных

Фреймворк streamlit позволяет быстро создать красивую страницу, даже если у вас нет навыков Frontend разработки.

В основном, используется для построения графиков, визуализации данных и т.д. Посмотреть пример можно введя: streamlit hello.

#теория
👍11
Режим разработчика

Этот режим включает дополнительные проверки, которые слишком требовательны, чтобы работать по умолчанию.

Например, Python проверяет, закрыл ли программист файл, обработал ли корутину (asyncio), перезаполнение буфера и т.д.

📌 Документация

#теория
👍142
sys.argv

В этой переменной хранятся параметры, переданные скрипту из командной строки. При вызове python3 main.py 1 2 3, sys.argv будет иметь значение ['main.py', '1', '2', '3'].

Интересно: sys.argv[0] всегда будет названием вызываемого скрипта. Если это интерпретатор, то строка будет пустой.

Правда, использовать sys.argv в серьёзных проектах глупо, т.к. есть встроенный argparse или typer от разработчиков FastAPI.

#теория
👍91
Где-то в кафе в Армении
👍38😁15🤡73🌚1🙊1
typer

Простая библиотека от разработчика FastAPI для создания CLI-приложений, то есть управляемых из терминала.

Библиотека позволит вам быстро создать команды для работы приложения из терминала и автоматически создаст help-меню.

#теория
👍15