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
⌨️ Теперь можно ничем не беспокоиться

🅿🆁🅾 𝐏𝐲𝐭𝐡𝐨𝐧
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
💻 Принудительное удаление веток в Git: опции -d и -D

В Git есть две команды для удаления веток: -d и -D, каждая из которых имеет свои особенности.

git branch -d <ветка>

🔵Эта команда используется для безопасного удаления веток.
🔵Удаляет ветку только в том случае, если она полностью слита с текущей веткой (то есть все изменения интегрированы).
Если изменения не были слиты, Git выведет предупреждение и не позволит удалить ветку.


git branch -D <ветка>

🔴Эта команда применяется для принудительного удаления веток.
🔴Удаляет ветку независимо от того, были ли её изменения слиты или нет.
⚠️ Будьте осторожны! Это может привести к потере данных, если ветка содержит незаконченные важные изменения.


🐍 Python Tech Code
Please open Telegram to view this post
VIEW IN TELEGRAM
👍2
🧐 Сколько тебе нужно мониторов для работы?

👍 – один
❤️ – два
👀 – ноль, если ты ёршильщик

🐍 Python Tech Code
Please open Telegram to view this post
VIEW IN TELEGRAM
29👍10👀6😁1
⌨️ Pydantic V2: Почему dataclasses вам ещё больше нужны

Автор проводит серию замеров и выясняет, что в операциях создания и изменения объектов обычные датаклассы (особенно со слотами) значительно быстрее Pydantic.

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


Используйте Pydantic для разбора и валидации «сырых» данных, но храните и обрабатывайте результат в быстрых датаклассах.

📄 Читать

Вывод прост: не нужно выбирать что-то одно.

🐍 Python Tech Code
Please open Telegram to view this post
VIEW IN TELEGRAM
👍3🔥1
Merge-конфликты

Сливая ветки в системе контроля версий, таких как Git, могут возникнуть merge-конфликты.

🟢Это происходит, когда изменения в двух ветках затрагивают одни и те же строки одного и того же файла.

Чтобы решить конфликт, следуй этим шагам:

🔢Определи конфликтные файлы: Git подскажет, в каких файлах произошел конфликт.

🔢Открой конфликтные файлы: Найдешь секции, отмеченные <<<<<<<, =======, и >>>>>>>. Это указывает на разные версии изменений.

🔢Редактируй файл: Реши, какие изменения оставить, а какие удалить, затем сохрани файл.

🔢Добавь изменения: Выполни команду git add <имя_файла>.

🔢Заверши слияние: Используй команду git commit для завершения процесса.


🐍 Python Tech Code
Please open Telegram to view this post
VIEW IN TELEGRAM
👍5
⌨️Парсим фиды (RSS-ленты)

Feedparser - это удобная библиотека Python, которая предоставляет простой и эффективный способ для чтения данных из различных RSS/Atom-лент.

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

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


Этот код загружает данные из RSS-ленты с веб-сайта и выводит заголовки и описания новостей.

🐍 Python Tech Code
Please open Telegram to view this post
VIEW IN TELEGRAM
👍4
👩‍💻 Шпаргалка по работе в командной строке

Команды для работы с файлами:

🟢ls — вывод содержимого каталога;
🟢ls -la — вывод содержимого каталога в форматированном виде (в т.ч. скрытые файлы);
🟢cd dir — перейти в каталог dir;
🟢cd — перейти в домашний каталог;
🟢pwd — показать текущий каталог;
🟢mkdir dir — создать каталог dir;
🟢rm file — удалить файл;
🟢rm -r dir — удалить каталог dir;
🟢rm -f file — принудительно удалить файл;
🟢rm -rf dir — принудительно удалить каталог dir;
🟢cp file1 file2 — скопировать file1 в file2;
🟢cp -r dir1 dir2 — скопировать каталог dir1 в каталог dir2 (если каталога dir2 нет, он будет создан);
🟢mv file1 file2 — переместить (или переименовать, если file1 и file2 находятся в одном каталоге) file1 в file2;
🟢ln -s file link — создать симлинк link на файл file;
🟢touch file — создать файл;
🟢cat > file — направить стандартный ввод в file;
🟢more file — вывод содержимого file;
🟢head file — вывод содержимого первых 10 строк file;
🟢tail file — вывод содержимого последних 10 строк file;
🟢tail -f file — вывод содержимого file по мере появления, начиная с последних 10 строк файла.


🐍 Python Tech Code
Please open Telegram to view this post
VIEW IN TELEGRAM
👍5🔥5👀1
This media is not supported in your browser
VIEW IN TELEGRAM
☕️ Когда пропадает интернет, можно погрузиться в свои мысли и серьёзно подума... а нет всё, включили!

🐍 Python Tech Code
Please open Telegram to view this post
VIEW IN TELEGRAM
😁9