Библиотека питониста | Python, Django, Flask
40.5K subscribers
2.79K photos
75 videos
51 files
4.37K links
Все самое полезное для питониста в одном канале.

Список наших каналов: https://yangx.top/proglibrary/9197

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

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

По рекламе: @proglib_adv
РКН: https://gosuslugi.ru/snet/67b885cbd501cf3b2cdb5b36
加入频道
🐍 Создаем игру «Виселица» на Python. Часть 2. Графический интерфейс на PySimpleGUI

В первой части мы написали код для получения и обработки вводимых игроком данных, создали некоторые компоненты и текстовый пользовательский интерфейс (TUI). Во второй части реализуем логику игры «Виселица» и создадим графический интерфейс с помощью PySimpleGUI.

🔗 Читать статью
🥰1033
🐍💬 Как часто вы используете ключевое слово del в Python?

Я пишу код на Python уже многие годы, в основном бэкенд для веб-приложений, но почти никогда не использовал del. Есть у кого-нибудь интересные или убедительные примеры использования этой команды?


Так написал один из пользователей Reddit. Что бы вы ответили?

❤️ — я действительно использую del
🤔 — да зачем это вообще нужно?

#интерактив
🤔7837🌚7
🧑‍💻 Granian — HTTP-сервер, написанный на языке программирования Rust

Предназначен для использования в Python-приложениях. Преимущества Granian:
✔️Имеет единственную, правильную реализацию HTTP, поддерживающую версии 1, 2 (и в конечном итоге 3).
✔️Избегает обычной композиции зависимостей Gunicorn + uvicorn + http-tools на Unix-системах.
✔️Обеспечивает стабильную производительность по сравнению с существующими альтернативами.

Granian поддерживает ASGI/3, RSGI и WSGI, HTTPS, веб-сокеты.

Установка — pip install granian

🔗 Репозиторий проекта на GitHub
🔥14👍2😁2
🤔 Зачем нужна функция reload() модуля importlib

Используется для перезагрузки ранее импортированного модуля.

Это может пригодиться при динамической настройке. Функция reload делает возможным изменение частей программы без остановки всей программы. То есть можно незамедлительно наблюдать эффекты от изменений в компонентах. Это позволяет значительно сократить цикл разработки.

✏️ Стоит помнить, что когда модуль перезагружается, его словарь, содержащий глобальные переменные, сохраняется. Если в новой версии модуля нет имён переменных, функций, классов, которые были определены в старой версии, то старое определение остаётся.

#код
👍9😁72❤‍🔥1
django 5.0.pdf
9.6 MB
🐍 Большой справочник по Django

По сути, это полная документация. Разбита на главы, охватывающие все темы. Есть нужные инструкции и примеры кода. Всё на 2800 страницах!

Вот некоторые из тем:
Установка
Модели и базы данных
Шаблоны
Классы
Миграции
Аутентификация
Логирование
👍226🥱1
🐻‍❄️ Быстрее Pandas в 10 раз: Polars — высокопроизводительная библиотека для анализа больших данных на Python

Разработанная с нуля на языке Rust библиотека Polars объединяет в себе скорость, гибкость и богатый инструментарий для анализа больших данных на Питоне, что позволяет считать её достойной заменой популярной библиотеке Pandas.

👉 Читайте о Polars подробнее в нашей статье 👈
🔥15👍1
💬 from ... import ... или import ...?

Что предпочитаете использовать чаще? Какие аргументы в защиту своих предпочтений у вас есть?

❤️ — чаще всего я просто импортирую модули целиком (import)
👍 — нередко делаю from ... import ...

#интерактив
👍21629🥰3
🐍 У нас есть еженедельная email-рассылка, посвященная последним открытиям и тенденциям в мире Python.

В ней:
● Новые возможности в последних версиях Python
● Работа с базами данных и SQL в Python
● Веб-разработка на Django и Flask
● Машинное обучение и анализ данных с помощью Python
● Автоматизация и работа с API на Python
● Тестирование и отладка кода на Python
● Задачи для новичков с решениями

👉Подписаться👈
👍61😁1
✏️ Сравнение производительности dict() и {} в Python

Создать словарь в Python можно несколькими способами. Как выяснил автор новой статьи, способ {} будет работать быстрее dict(). Но почему?

Чтобы это понять, автору пришлось покопаться в коде интерпретатора CPython. Если коротко:
▪️Когда выполняется dict(a=1, b=2), Python должен:
- распределить новый PyObject,
- создать dict при помощи метода __new__,
- вызвать его метод __init__, который внутри вызывает PyDict_Merge,
- так как kwargs не является dict, PyDict_Merge необходимо использовать более медленный метод, вставляющий элементы один за другим.
▪️Когда выполняется {}, Python должен:
- создать новый заранее распределённый словарь,
- один за другим вставлять элементы.

Более подробно об этом читайте в статье 👈
👍313
🤖 Список инструментов и библиотек для разработки роботов на Python и C++

В репозитории можно найти:
Библиотеки для работы с ROS (Robot Operating System).
Инструменты для обработки изображений и компьютерного зрения.
Различные фреймворки и библиотеки для машинного обучения.
Библиотеки для симуляции и моделирования роботов.
Инструменты для обработки данных и аналитики.

🔗 Ссылка на репозиторий
👍8
🔎 Библиотека Coverage для измерения процента покрытия кода тестами

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

Эта библиотека является для Python де-факто стандартом проверки покрытия. На днях вышло свежее обновление.

🔗 Страница Coverage на PyPI
👩‍💻 Репозиторий на GitHub
🎉7👍4🔥2😁2
📚Напоминаем про наш полный курс «Самоучитель по Python для начинающих»

Мы написали и собрали для вас в одну подборку все 25 глав и 230 практических заданий!

🐍 Часть 1: Особенности, сферы применения, установка, онлайн IDE
🐍 Часть 2: Все, что нужно для изучения Python с нуля – книги, сайты, каналы и курсы
🐍 Часть 3: Типы данных: преобразование и базовые операции
🐍 Часть 4: Методы работы со строками
🐍 Часть 5: Методы работы со списками и списковыми включениями
🐍 Часть 6: Методы работы со словарями и генераторами словарей
🐍 Часть 7: Методы работы с кортежами
🐍 Часть 8: Методы работы со множествами
🐍 Часть 9: Особенности цикла for
🐍 Часть 10: Условный цикл while
🐍 Часть 11: Функции с позиционными и именованными аргументами
🐍 Часть 12: Анонимные функции
🐍 Часть 13: Рекурсивные функции
🐍 Часть 14: Функции высшего порядка, замыкания и декораторы
🐍 Часть 15: Методы работы с файлами и файловой системой
🐍 Часть 16: Регулярные выражения
🐍 Часть 17: Основы скрапинга и парсинга
🐍 Часть 18: Основы ООП – инкапсуляция и наследование
🐍 Часть 19: Основы ООП – абстракция и полиморфизм
🐍 Часть 20: Графический интерфейс на Tkinter
🐍 Часть 21: Основы разработки игр на Pygame
🐍 Часть 22: Основы работы с SQLite
🐍 Часть 23: Основы веб-разработки на Flask
🐍 Часть 24: Основы работы с NumPy
🐍 Часть 25: Основы анализа данных с Pandas
👍26🔥6❤‍🔥1
🐍 Corey Schafer — полезный YouTube-канал с туториалами по Python

Если вы вдруг не знали про Corey Schafer, то предлагаем ознакомиться. Этот парень записал множество отличных туториалов, связанных с Python. Недавно у него возникли проблемы со здоровьем, но он сообщил, что приходит в норму и готовит к выпуску новые видеоролики.

Вот некоторые из туториалов на его канале:
👉 Pandas
👉 Matplotlib
👉 Django: полнофункциональное веб-приложение
👉 Flask: полнофункциональное веб-приложение
👉 Настройка среды разработки Python в Sublime Text
👉 ООП в Python: работа с классами
16👍4🔥1
Что такое хуки? Как они используются в Python?

Хуки, в целом, — это технология, позволяющая изменить стандартное поведение тех или иных компонентов информационной системы. Они могут использоваться для изменения поведения функций, отслеживания состояния программы или выполнения дополнительных действий при вызове функций.

✔️Для создания хука в Python можно использовать декораторы. Вот простой пример:
def simple_hook(func):
def wrapper(*args, **kwargs):
print(f'Вызывается функция: {func.__name__}')
result = func(*args, **kwargs)
print(f'Функция {func.__name__} выполнена')
return result
return wrapper
# Применяем декоратор к функции
@simple_hook
def greet(name):
print(f'Привет, {name}!')
# Вызываем функцию
greet('Алексей')

#вопросы_с_собеседований
🤔14👍10🥰3💯2
This media is not supported in your browser
VIEW IN TELEGRAM
🔐 Простейший способ добавить вход через Google в приложение Django

В статье объясняется, как легко добавить в своё приложение авторизацию через Google (как в видео выше).

Процесс включает несколько шагов:
▫️Рендеринг HTML-страницы с кнопкой входа. При нажатии на кнопку пользователи будут перенаправлены на сайт Google для входа в систему.
▫️После входа в систему Google перенаправит пользователя (с помощью POST-запроса) на указанную страницу сайта.
▫️Мы получим информацию пользователя Google (например, электронную почту) из POST-запроса.

О том, как это сделать, читайте по ссылке 👈
👍13🥰3
🐍 Что такое «сырые» строки (Raw Strings) в Python?

«Сырые» строки в Python начинаются с префикса r. Пример:
r'Это сырая строка'

▶️ В «сырых» строках обратные слэши не обрабатываются как специальные символы. Вот пример для понимания:
r'10\25\1991' == '10\25\1991'
# выведет False

О том, для чего это может быть нужно, читайте в статье
👍17👏2
💻 Библиотека aiohttp — асинхронный HTTP клиент/сервер

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

На днях вышла версия aiohttp 3.9.2

🔗 Документация aiohttp
👍12
🐍🎉 5 Python-библиотек, чтобы сделать ваш день веселее

Arcade
Облегчает процесс создания 2D-игр. Здесь можно посмотреть на примеры таких игр.
Rich
Позволяет красиво отформатировать текст в терминале. Поддерживает различные стили и цвета.
PyEphem
Библиотека для астрономических вычислений на Python. Позволяет найти планеты на небе, определить даты равноденствия и солнцестояния, лунных фаз и т.д.
Pygame
Ещё одна библиотека для создания игр (и вообще мультимедиа приложений).
Pyjokes
Библиотека с короткими шутками для программистов.
👍11🤩21
🤖💬 Вы пользуетесь ИИ-инструментами для автодополнения кода (типа GitHub Copilot)?

👍 — постоянно пользуюсь
🤔 — не пробовал
🥱 — пробовал, мне не понравилось

#интерактив
🤔117👍56🥱27🔥2😁21
🧑‍💻 Статьи для IT: как объяснять и распространять значимые идеи

Напоминаем, что у нас есть бесплатный курс для всех, кто хочет научиться интересно писать — о программировании и в целом.

Что: семь модулей, посвященных написанию, редактированию, иллюстрированию и распространению публикаций.

Для кого: для авторов, копирайтеров и просто программистов, которые хотят научиться интересно рассказывать о своих проектах.

👉Материалы регулярно дополняются, обновляются и корректируются. А еще мы отвечаем на все учебные вопросы в комментариях курса.
5👍2