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
😁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
⌨️ Полезные функции из модуля math в Python

🟢fabs(x): Возвращает абсолютное значение числа.
🟢fmod(x, y): Возвращает остаток от деления.
🟢pow(x, y): Возводит число в степень.
🟢sqrt(x): Вычисляет квадратный корень.
🟢ceil(x): Округляет число вверх.
🟢floor(x): Округляет число вниз.
🟢modf(x): Разделяет число на дробную и целую части.
🟢factorial(x): Вычисляет факториал числа.

🐍 Python Tech Code
Please open Telegram to view this post
VIEW IN TELEGRAM
👍9
⌨️ Анализ HTTP-запросов

httpdbg — это легковесная утилита, которая позволяет отслеживать все HTTP-запросы, отправляемые вашим кодом.

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

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


При выполнении этого кода вы увидите все HTTP-запросы и ответы, которые были отправлены и получены.

🐍 Python Tech Code
Please open Telegram to view this post
VIEW IN TELEGRAM
👍64
👩‍🚀 Методы словарей в Python

🐍 Python Tech Code
Please open Telegram to view this post
VIEW IN TELEGRAM
👍6
📷 Порядок написания и выполнения SQL-запросов

Порядок написания:
Это порядок, в котором разработчик пишет SQL-запрос.

Он начинается с SELECT, затем указываются таблицы (FROM), соединения (JOIN), условия (WHERE), группировки (GROUP BY), фильтрации после группировки (HAVING), сортировки (ORDER BY) и ограничения количества строк (LIMIT).


Порядок выполнения:
Это порядок, в котором SQL-сервер фактически выполняет запрос.

Он начинается с выбора таблиц (FROM), затем выполняет соединения (JOIN), применяет условия соединения (ON), фильтрует строки (WHERE), группирует данные (GROUP BY), фильтрует группы (HAVING), выбирает столбцы (SELECT), сортирует результаты (ORDER BY) и, наконец, ограничивает количество строк (LIMIT).


🐍 Python Tech Code
Please open Telegram to view this post
VIEW IN TELEGRAM
👍3🔥2
⌨️ Мифы и легенды о производительности Python

В этой статье разбираем доклад с EuroPython 2025, где инженер и разработчик PyPy Антонио Куни на живых примерах показывает, почему Python тормозит на самом деле, и почему статическая типизация, JIT и даже переписывание на C тут не панацея.

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

📄 Читать

🐍 Python Tech Code
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥32
⌨️ Ключевые различия между списками и множествами в Python

❇️Порядок элементов:
Списки сохраняют порядок, а множества — нет.

❇️Дубликаты:
Списки могут содержать дубликаты, а множества — нет.

❇️Изменяемость:
Списки полностью изменяемы, а множества могут изменяться только в плане добавления/удаления элементов.

❇️Синтаксис:
Списки используют [], а множества — {}.

⬆️Эти структуры данных используются в разных ситуациях в зависимости от требований к порядку, уникальности и изменяемости элементов.

🐍 Python Tech Code
Please open Telegram to view this post
VIEW IN TELEGRAM
👍6🔥31
This media is not supported in your browser
VIEW IN TELEGRAM
💥 Это когда говорят: "Никогда не поздно учиться."

🐍 Python Tech Code
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥6🤯4