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

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

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

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

По рекламе: @proglib_adv
РКН: https://gosuslugi.ru/snet/67b885cbd501cf3b2cdb5b36
Download Telegram
#вопросы_с_собеседований
Как работает 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
Как создать баскетбольную игру на Python

Это короткое видео, в котором авто показывает, как разработать базовую игру на Python с использованием pygame. В этом видео создается базовая баскетбольная игра менее чем за 12 минут.

https://youtu.be/0rf8BSZ1c68
👍71
Какие тесты обязательно проводят HR при найме программистов?

Алгоритмические тесты – это возможность показать всем, что ты пишешь чистый и понятный код. Ну, или, доказать обратное и пойти тренить алгоритмы под звуки грустного тромбона (уи-уи-уи-уиии).

Вот что могут попросить сделать на собеседовании:

🔹 Найти недостающий элемент в отсортированном массиве.
🔹 Проверить наличие цикла в односвязном списке.
🔹 Написать функцию, которая возвращает наибольшее число из массива целых чисел, не используя встроенные методы сортировки и поиска.
🔹Написать алгоритм поиска наибольшей возрастающей подпоследовательности в массиве.
🔹 Реализовать сортировку выбором (Selection sort).

Если устраиваешься кодером – ни один собес не пройдет без них.

Где можно проверить свои знания?

Проверить, насколько хорошо вы разбираетесь в алгоритмах можно с помощью теста.

Как можно подготовиться к алгоритмическому собеседованию?

Самый простой способ – пройти курс "Алгоритмы и структуры данных".

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

Промокод на скидку 10% для подписчиков канала – 10PROGLIB10

👉 Оставить заявку можно здесь – https://proglib.io/w/31b60891
👍4😁1
Forwarded from Библиотека программиста | программирование, кодинг, разработка
📖 ТОП-7 книг для программистов, которые только начинают свой путь в IT

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

🔗 Основной сайт
🔗 Зеркало
🔥2👍1
📝👍 Тесты на собеседовании: как к ним подготовиться и получить оффер

Рассказываем, какие бывают тесты на собеседованиях, а главное – как и где к ним подготовиться, чтобы точно получить работу в компании мечты.

А вы проваливали тестирование при трудоустройстве? Пишите свои истории в комментариях👇

🔗Основной сайт
🔗Зеркало