Библиотека питониста | Python, Django, Flask
39.9K subscribers
2.88K photos
79 videos
51 files
4.49K links
Все самое полезное для питониста в одном канале.

Список наших каналов: https://t.iss.one/proglibrary/9197

Курс по ML: https://cl

Для обратной связи: @proglibrary_feeedback_bot

По рекламе: @proglib_adv
РКН: https://gosuslugi.ru/snet/67b885cbd501cf3b2cdb5b36
Download Telegram
✍️ Библиотека программиста» находится в поиске авторов оригинальных статей

Языки
● Python, JavaScript, TypeScript, C#, Go, SQL.

Тематика
● Информационная безопасность, Data Science, базовые концепции языков, продвинутый Python, JS (и т. д), бэкенд веб-приложений, фронтенд-разработка, React, системное программирование, базы данных.

Объем
● от 7 до 15 тыс. знаков.

➡️ Заполнить анкету ⬅️

Я хорошо программирую, но пишу «так себе». Что делать?
Если вы хорошо программируете, но навыки письма немного отстают, пройдите наш бесплатный курс на Степике «Статьи для IT: как объяснять и распространять значимые идеи».
Please open Telegram to view this post
VIEW IN TELEGRAM
👍104
🐍📚 ТОП-15 книг по Python для начинающих и опытных разработчиков в 2023 году

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

🔗 Основной сайт
🔗 Зеркало
👍135🔥2🎉1
Новости Python

🐍 Python 3.12.0 Alpha 7 уже доступен
🐍 pandas 2.0 получил серьезное обновление с интеграцией PyArrow
🐍 pip 23.1 получил улучшенный преобразователь зависимостей
🐍 PyCon US 2023 отмечает свое двадцатилетие
🐍 PyPI представляет доверенных издателей и учетные записи организаций
🐍 PSF выражает обеспокоенность по поводу предлагаемой политики ЕС

Подробнее
👍198🔥2
#вопросы_с_собеседований
Как работает any() и all()?

Any() принимает последовательность и возвращает true, если какой-либо элемент в последовательности равен true.
All() возвращает истину, только если все элементы в последовательности истинны.
👍205
Telegram Django Bot за пару строк

Для разработки ботов не нужно тратить много сил и писать тонны кода. Достаточно использовать готовые шаблоны и подстраивать их под свой проект. В этой статье опытный создатель ботов разбирает ускоренный способ и применяет фреймворк Django.

https://habr.com/ru/articles/734786/
👍1311👏2🔥1🥰1
docstring

docstring — это строковый литерал, который по PEP должен быть сразу после определения названия для модуля, функции, класса или метода. Создаётся с помощью трех двойных кавычек.

В Python docstring игнорируются интерпретатором и не могут быть выполнены. Однако, когда вы добавляете docstring в модуль, функцию и так далее, эта строка становится специальным атрибутом, к которому можно получить доступ через __doc__.
👍178
Порядок разрешения методов

В Python существует так называемый Method Resolution Order (MRO), или порядок разрешения методов в классе. Всё, что вам нужно знать – это порядок, в котором Python ищет нужный атрибут или метод.

Этот порядок можно получить при помощи атрибута __mro__. Он говорит о том, что если мы в примере выше попробуем обратиться к атрибуту value, Python будет искать сначала в классе A, далее в B, затем в C и в самом конце в object.

Отсюда становится понятно, что артибут первее будет найден именно в классе B и равен он будет значению 1.
👍119🔥1🥰1👏1
Генерируем анекдоты

Не самый полезный, но весьма интересный пакет pyjokes выдает различные шутки и анекдоты на 6 языках. Но русский, к сожалению, в это число не входит.

Метод get_joke() возвращает строку, которая хранит в себе случайную шутку. В аргументы можно указать язык, по умолчанию стоит английский.

Также можно указать категорию в аргументах — особенно классно заходят штуки про Чак Норриса с пометкой 'chuck'.

#pyjokes
11👍8😁5
🐍 Проверка подлинности: как оценить качество пакетов Python

Из этой статьи вы узнаете критерии, по которым можно оценить качество пакетов Python и способы избежать загрузки вредоносного кода в свой проект.

🔗 Основной сайт
🔗 Зеркало
7👍5🔥3
Проверяем скорость интернета

Каждый хоть раз проверял скорость своего интернета на Speedtest. А у них, оказывается, есть не только сайт и приложения, но и пакет на Python для этого дела.

У объекта класса Speedtest методы download() и upload() выдают соответственно скорость скачивания и загрузки данных.

Методы отдают результат в байтах, поэтому для наглядности в примере я перевел все данные в мегабайты при выводе.
👍236
Нужна ли математика программисту?

Считается, что стать программистом без хорошего знания математики невозможно. Разберемся, так ли это на самом деле.

🔗 Основной сайт
🔗 Зеркало
🔥6
Отправляем запросы с HTTPX
Интересный пакет для работы с веб-запросам. Как говорят сами разработчики, это HTTP клиент следующего поколения.

Сравнивая с привычным requests, у httpx есть следующие преимущества:

— Стандартный синхронный интерфейс, но также есть поддержка асинхронности
— Поддержка HTTP/1.1 и HTTP/2
— Возможность отправлять запросы напрямую к WSGI и ASGI приложениям
— Полная поддержка аннотаций типов
— 100% покрытие тестами

В общем, очень классная альтернатива большинству популярных пакетов, советую посмотреть их доки (https://www.python-httpx.org/). Еще у них есть туториал (https://www.python-httpx.org/advanced/) для продвинутого использования.
👍92
Классы данных

Еще в Python 3.7 добавили такую мощную штуку, как классы данных. Они призваны автоматизировать генерацию кода классов, которые используются для хранения данных.

Встроенный модуль dataclasses содержит декоратор @dataclass. С его использованием код будет выглядеть лаконично и коротко. Пример на картинке выше.

Важно отметить, что аннотации типов обязательны. Все поля, которые не имеют отметок о типе будут проигнорированы. Конечно, если вы не хотите использовать конкретный тип, вы можете указать Any из модуля typing.

В результате вы автоматически получаете класс, с реализованными методами __init__, __repr__, __str__ и __eq__. Кроме того, это будет обычный класс и вы можете наследоваться от него или добавлять произвольные методы.
🔥14👍62
Выделение базовой части слов

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

Таким образом, было бы полезно при анализе текста извлекать базовые формы слов. Можно сказать, что для процесса выделения базовой части слова необходимо обрезать концы слов.

В модуле Python NLTK (Natural Language Toolkit Package) есть различные пакет, связанные с данным процессом выделения базовой части и использующие разные алгоритмы.

Один за пакетов, snowball, использует алгоритм соответственно Snowball, разработанный Мартином Портером. Алгоритм поддерживает большинство популярных языков. Подробнее об алгоритме можно почитать тут (https://snowball.tartarus.org/).
👍8