Pro Python • IT
4.13K subscribers
1.32K photos
140 videos
38 files
1.27K links
Pro Python — авторский канал с полезными советами, материалами и новостями по Python-программированию.

Сотрудничество (реклама): @NotPriceMedia

Канал на бирже : https://telega.in/c/PythonTechCode
Download Telegram
⌨️ Ключевые аспекты хорошего программирования: использование «безопасных» методов

Использование метода get для доступа к элементам словаря — это хорошая практика, так как это позволяет избежать ошибки KeyError, если ключа не существует.


🅿🆁🅾 𝐏𝐲𝐭𝐡𝐨𝐧
Please open Telegram to view this post
VIEW IN TELEGRAM
👍8
⌨️ Всё про конфиги

В этой статье мы разберем, что такое конфигурационные файлы, зачем они нужны и какие основные форматы существуют (YAML, JSON, TOML, XML, INI, HCL).

Рассмотрим практические примеры, плюсы и минусы каждого формата, а также лучшие практики: послойные конфиги, валидацию через Pydantic/Voluptuous и работу с секретами.


📄 Читать

🅿🆁🅾 𝐏𝐲𝐭𝐡𝐨𝐧
Please open Telegram to view this post
VIEW IN TELEGRAM
👍52
⌨️ Код: чистый vs токсичный

Первая строка import os загружает модуль как объект, сохраняя пространство имён.
Это обеспечивает явное указание происхождения функций (например, os.listdir()), что улучшает читаемость и предотвращает конфликты имён.


Вторая строка from os import * выгружает все элементы модуля напрямую, загрязняя текущее пространство имён.
Это скрывает источник функций и создаёт риски перезаписи переменных, поэтому такой подход менее безопасен и не рекомендуется.


Предпочтительным стилем остаётся явный импорт через import os.

🅿🆁🅾 𝐏𝐲𝐭𝐡𝐨𝐧
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥8👍4
This media is not supported in your browser
VIEW IN TELEGRAM
⌨️ Нашёл крутой инструмент, который делает из твоего компьютера суперкомпьютер

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

Всё работает через одну команду в Python, а результаты возвращаются как будто программа работала у тебя на ноутбуке.

Установка библиотеки:
pip install burla


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

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

🅿🆁🅾 𝐏𝐲𝐭𝐡𝐨𝐧
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥52👍2
⌨️ Глядя на это, понимаешь, что если ИИ и захватит мир, то явно не из-за сверхразума

Его остановит первая же встреча с продакшен-репозиторием, полным «временных» решений и магических чисел.


🅿🆁🅾 𝐏𝐲𝐭𝐡𝐨𝐧
Please open Telegram to view this post
VIEW IN TELEGRAM
😁19👍42🔥2
⌨️ Процедурная генерация двухмерной полигональной карты на Python

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

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


📄 Читать

🅿🆁🅾 𝐏𝐲𝐭𝐡𝐨𝐧
Please open Telegram to view this post
VIEW IN TELEGRAM
👍51🤯1
⌨️ Теперь можно ничем не беспокоиться

🅿🆁🅾 𝐏𝐲𝐭𝐡𝐨𝐧
Please open Telegram to view this post
VIEW IN TELEGRAM
👍11😁62🔥2
⌨️ Хватит руками генерить фичи — пусть машина делает это за вас

Featuretools — это Python-библиотека для автоматического создания признаков из реляционных данных и временных рядов.

Вместо того чтобы часами придумывать и кодить агрегации руками, ты описываешь структуру сущностей и их связи, а библиотека сама генерирует сотни осмысленных фич через механизм Deep Feature Synthesis.

Установка библиотеки:
pip install featuretools


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

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

🅿🆁🅾 𝐏𝐲𝐭𝐡𝐨𝐧
Please open Telegram to view this post
VIEW IN TELEGRAM
👍5
⌨️ Те, кто проспал

🅿🆁🅾 𝐏𝐲𝐭𝐡𝐨𝐧
Please open Telegram to view this post
VIEW IN TELEGRAM
14
⌨️ Классы в Python: от основ ООП до продвинутых концепций

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

Плюс рассмотрим специальные методы, абстрактные классы и dataclasses на практическом примере.


📄 Читать

🅿🆁🅾 𝐏𝐲𝐭𝐡𝐨𝐧
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥7👍4
⌨️ Большая подборка тестовых заданий для IT

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

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

🌐 Ссылка

Всё на русском, много практики.

🅿🆁🅾 𝐏𝐲𝐭𝐡𝐨𝐧
Please open Telegram to view this post
VIEW IN TELEGRAM
👍3🔥21
⌨️ Keyring – безопасное хранение паролей

Библиотека для работы с системным хранилищем учетных данных (Keychain, KWallet, Secret Service). Позволяет безопасно хранить и получать пароли, используя механизмы защиты ОС.

Установка библиотеки:
pip install keyring


Пример использования:
import keyring
# Сохранение
keyring.set_password("my_app", "username", "secret123")
# Получение
password = keyring.get_password("my_app", "username")


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

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

🅿🆁🅾 𝐏𝐲𝐭𝐡𝐨𝐧
Please open Telegram to view this post
VIEW IN TELEGRAM
👍3
⌨️ Как ускорить автотесты на Python в Pytest в 8,5 раз

В этой статье мы разберем практические методы ускорения медленных автотестов — от параллельного запуска через pytest-xdist до замены sleep() на умные ожидания и рефакторинга тестовых данных.

Автор на реальном проекте сократил время прогона с 17 до 2 минут.


📄 Читать

🅿🆁🅾 𝐏𝐲𝐭𝐡𝐨𝐧
Please open Telegram to view this post
VIEW IN TELEGRAM
👍6
⌨️ Инструмент для анализа логов, дедубликации контента и потоковой аналитики

Datasketch — это библиотека, которая помогает работать с огромными данными, не загружая их полностью в память.

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

Установка библиотеки:
pip install datasketch


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

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

🅿🆁🅾 𝐏𝐲𝐭𝐡𝐨𝐧
Please open Telegram to view this post
VIEW IN TELEGRAM
👍41
⌨️ Начинаем

🅿🆁🅾 𝐏𝐲𝐭𝐡𝐨𝐧
Please open Telegram to view this post
VIEW IN TELEGRAM
😁19
⌨️ Инструмент для анализа кода Python

Vulture — это инструмент для статического анализа кода на Python, который помогает находить "мертвый" код, то есть код, который никогда не используется в проекте.

🟡 Это могут быть неиспользуемые переменные, функции, классы или импорты. Удаление такого кода делает проект чище, уменьшает его размер и улучшает читаемость.

Установка библиотеки:
pip install vulture


➡️ Запуск Vulture терминале запустить Vulture, указав путь к проекту):
vulture my_project/

Vulture анализирует код и выводит список неиспользуемых элементов.

🐍 Python Tech Code
Please open Telegram to view this post
VIEW IN TELEGRAM
👍6
⌨️ Использование case(), or_() и and_() в SQLAlchemy

SQLAlchemy предоставляет мощные инструменты для создания гибких SQL-запросов.

😫Функция case() используется для создания условных выражений, аналогично оператору CASE в SQL.

Пример:
from sqlalchemy import case

query = session.query(
User.name,
case(
(User.age >= 18, "Adult"),
(User.age < 18, "Child")
).label("age_group")
)


😫Функция or_() позволяет комбинировать условия с помощью логического оператора OR.

Пример:
from sqlalchemy import or_

query = session.query(User).filter(or_(User.name == "John", User.age == 25))


😫Функция and_() используется для комбинирования условий с помощью логического оператора AND.

Пример:
from sqlalchemy import and_

query = session.query(User).filter(and_(User.name == "John", User.age == 25))


🧪Использование данных функций значительно повышают гибкость и читаемость SQL-запросов.

🐍 Python Tech Code
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥53
⌨️ Правильный выбор

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

Он славится своей читабельностью и простотой синтаксиса, что позволяет быстрее осваивать его и создавать сложные приложения.


🔜 Благодаря большому количеству библиотек и сообществу, Python широко применяется в науке, веб-разработке и машинном обучении.

🐍 Python Tech Code
Please open Telegram to view this post
VIEW IN TELEGRAM
1😁21
⌨️ Скрытие секретного сообщения в изображении с помощью метода наименее значимого бита (LSB)

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

Как это работает:
🔵Метод LSB (Least Significant Bit) изменяет наименее значимые биты пикселей изображения для кодирования сообщения. Эти изменения обычно незаметны для человеческого глаза.

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


Установка библиотеки:
pip install stegano


Пример:
from stegano import lsb

# Скрытие секретного сообщения в изображении
secret = lsb.hide('image.png', 'Your secret message')

# Сохранение изображения со скрытым сообщением
secret.save('secret_img.png')

# Извлечение скрытого сообщения из изображения
print(lsb.reveal('secret_img.png'))

# Вывод → Your secret message


➡️ Этот метод демонстрирует простой и эффективный способ скрытия и извлечения текстовых сообщений в изображениях с использованием Python и библиотеки stegano.

🐍 Python Tech Code
Please open Telegram to view this post
VIEW IN TELEGRAM
👍5
🖥 Эффективные SQL-запросы: 5 главных советов

Эффективные SQL-запросы помогают быстро получать данные и минимизировать нагрузку на базу данных. Вот пять ключевых советов для их создания:

➡️ Используйте индексы
Индексы ускоряют поиск данных. Убедитесь, что столбцы в условиях WHERE, JOIN и ORDER BY индексированы.

Пример:
CREATE INDEX idx_user_name ON users (name);


➡️ Избегайте `SELECT *`
Выбирайте только те столбцы, которые вам нужны. Это уменьшает объем данных, передаваемых между базой данных и приложением.

Пример:
SELECT id, name FROM users WHERE age > 18;


➡️ Оптимизируйте JOIN
Предпочитайте INNER JOIN, если это возможно, и убедитесь, что столбцы для соединения индексированы.

Пример:
SELECT u.name, o.order_id
FROM users u
INNER JOIN orders o ON u.id = o.user_id;


➡️ Используйте LIMIT и OFFSET
Для выборки ограниченного числа строк используйте LIMIT и OFFSET. Это особенно полезно для пагинации.

Пример:
SELECT * FROM users ORDER BY id LIMIT 10 OFFSET 20;


➡️ Используйте EXPLAIN
Команда EXPLAIN помогает понять, как выполняется запрос, и выявить узкие места.

Пример:
EXPLAIN SELECT * FROM users WHERE age > 18;


➡️Следуя этим пяти советам, вы сможете создавать эффективные SQL-запросы, которые быстро выполняются и минимизируют нагрузку на базу данных.

🐍 Python Tech Code
Please open Telegram to view this post
VIEW IN TELEGRAM
👍7