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
💯 Умение общаться, презентовать себя и работать в команде часто оказывается важнее чистого кода

🐍 Python Tech Code
Please open Telegram to view this post
VIEW IN TELEGRAM
👍64
⌨️ Преобразование чисел в текст

Библиотека num2words предназначена для преобразования числовых значений в их текстовые эквиваленты.

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

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


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

🐍 Python Tech Code
Please open Telegram to view this post
VIEW IN TELEGRAM
👍6😁1
🖨 Разбор 30 самых популярных методов для работы со строками в Python с примерами их вывода

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

Порядок написания запроса (синтаксис SQL) не совпадает с порядком выполнения.

👀FROM t1 - сначала выбирается таблица t1
👍JOIN t2 - затем присоединяется таблица t2
👀ON t1.column_a = t2.column_a - применяется условие соединения
👍WHERE constraint_expression - фильтрация строк
👀GROUP BY column - группировка данных
👍HAVING constraint_expression - фильтрация групп
👀SELECT column_a, column_b - выбор столбцов (выполняется после фильтрации!)
👍ORDER BY column ASC/DESC - сортировка результатов
👀LIMIT count - ограничение количества строк

Пример запроса:
SELECT column_a, column_b
FROM t1
JOIN t2 ON t1.column_a = t2.column_a
WHERE column_b > 100
GROUP BY column_a
HAVING COUNT(*) > 5
ORDER BY column_b DESC
LIMIT 10;


👍 SQL-движок обрабатывает запрос не сверху вниз, а по внутренней логике, что важно для оптимизации запросов.

🐍 Python Tech Code
Please open Telegram to view this post
VIEW IN TELEGRAM
👍4
⌨️ Диагностика производительности Python-приложений

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

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

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


Пример:
from pyinstrument import profile

@profile()
def my_function():
# ...
pass


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

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

🐍 Python Tech Code
Please open Telegram to view this post
VIEW IN TELEGRAM
👍4🔥2
😁 Счастлив ли я? Конечно!

🐍 Python Tech Code
Please open Telegram to view this post
VIEW IN TELEGRAM
😁10
⌨️ «Python так любит четные числа, что даже округляет до них!»

Например, если вы ожидаете, что round(10.5) вернет 11, но вместо этого получаете 10, это может показаться странной шуткой языка.👄


🐍 Python Tech Code
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥4
⌨️ Извлекаем все эмодзи из текста на Python

Эта программа на Python извлекает все эмодзи из заданной строки текста:
import demoji

text = "Приятного аппетита! 🍽🍕🍔🍟"
emojis = demoji.findall(text)
print("Найдены эмодзи:", list(emojis.keys()))


Пример вывода:
Найдены эмодзи: ['🍽', '🍕', '🍔', '🍟']


Как это работает?
👍Библиотека demoji анализирует текст и находит все Unicode-эмодзи.

👀Метод findall() возвращает словарь, где ключи — найденные эмодзи.

👍List(emojis.keys()) преобразует ключи в удобный для вывода список.


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


Таким образом можно легко легко извлекать эмодзи из текста, что полезно для анализа соцсетей, чат-ботов или обработки пользовательских сообщений.

🐍 Python Tech Code
Please open Telegram to view this post
VIEW IN TELEGRAM
👍42
®️ Схема работы с Git (системой контроля версий), которая визуализирует взаимодействие между локальным репозиторием и удаленным хранилищем.

🐍 Python Tech Code
Please open Telegram to view this post
VIEW IN TELEGRAM
5👍2
⌨️ Проверка палиндромов на Python

Эта программа на Python проверяет, является ли заданное слово или фраза палиндромом (читается одинаково как слева направо, так и справа налево).

def is_palindrome(text):
# Удаляем все непробельные символы и переводим текст в нижний регистр
clean_text = ''.join(char.lower() for char in text if char.isalnum())
# Сравниваем очищенный текст с его реверсированной версией
return clean_text == clean_text[::-1]

# Пример строки для проверки
text = "А роза упала на лапу Азора"
print("Является палиндромом:", is_palindrome(text))


ℹ️ Пример вывода:
Является палиндромом: True

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

🐍 Python Tech Code
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥3
Star patterns с использованием вложенных циклов

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


🐍 Python Tech Code
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥5
🟩 SQL-трюки для прокачки навыков работы с базами данных

🔢Используйте COALESCE вместо CASE
Вместо длинных операторов CASE для обработки NULL-значений используйте COALESCE():
SELECT COALESCE(name, 'Unknown') FROM users;

Эта функция возвращает первое ненулевое значение в списке.

🔢Генерация последовательных чисел без таблицы
Нужна последовательность чисел, но нет таблицы с числами? Используйте GENERATE_SERIES (PostgreSQL) или WITH RECURSIVE (MySQL 8+):
SELECT generate_series(1, 10);


🔢Быстрый поиск дубликатов
Легко находите повторяющиеся значения с помощью GROUP BY и HAVING:
SELECT email, COUNT(*) 
FROM users
GROUP BY email
HAVING COUNT(*) > 1;


🔢Случайный выбор строк
Нужна случайная выборка данных? Используйте:
🟢PostgreSQL: ORDER BY RANDOM()
🟢MySQL: ORDER BY RAND()
🟢SQL Server: ORDER BY NEWID()

🔢Сводные данные без PIVOT (для баз данных без этой функции)
Используйте CASE с SUM() для ручного создания сводных данных:
SELECT 
user_id,
SUM(CASE WHEN status = 'active' THEN 1 ELSE 0 END) AS active_count,
SUM(CASE WHEN status = 'inactive' THEN 1 ELSE 0 END) AS inactive_count
FROM users
GROUP BY user_id;


🔢Эффективное получение ID последней вставленной записи
Вместо отдельного SELECT используйте:
🟢MySQL: SELECT LAST_INSERT_ID();
🟢PostgreSQL: RETURNING id;
🟢SQL Server: SELECT SCOPE_IDENTITY();

🐍 Python Tech Code
Please open Telegram to view this post
VIEW IN TELEGRAM
👍82
This media is not supported in your browser
VIEW IN TELEGRAM
🐈 Ты уже прошёл 80% пути.
Эти 20% — просто формальность.
Вперёд!


🐍 Python Tech Code
Please open Telegram to view this post
VIEW IN TELEGRAM
9
⌨️ Дроби, проценты, степени и логарифмы в Python

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

📄 Читать

🐍 Python Tech Code
Please open Telegram to view this post
VIEW IN TELEGRAM
👍3
⌨️ Мониторинг системных ресурсов

Библиотека psutil (process and system utilities) — это кроссплатформенный инструмент для мониторинга системных ресурсов и управления процессами в Python.

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

Некоторые полезные функции:

Мониторинг использования CPU
psutil.cpu_percent()

Информация о дисковом пространстве
psutil.disk_usage('/')

Информация об ОЗУ
psutil.virtual_memory()

Данные о сетевой активности
psutil.net_io_counters()

Управление процессами
psutil.process_iter()


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


🐍 Python Tech Code
Please open Telegram to view this post
VIEW IN TELEGRAM
👍5🔥2
👆 Шпаргалка по основам SQL

🐍 Python Tech Code
Please open Telegram to view this post
VIEW IN TELEGRAM
2👍2
👾 Ролевая игра для программистов

CodeCombat — это интерактивная платформа для изучения программирования в формате RPG-игры. Подходит как для новичков, так и для опытных разработчиков.

Игровой процесс:
🔴Решай задачи, управляя героем с помощью кода
🔴Сражайся с врагами, собирай кристаллы, открывай сундуки
🔴Проходи уровни, осваивая новые команды и алгоритмы
🔴Соревнуйся или сотрудничай с другими игроками


🔗https://codecombat.com/play

🛑 Поддержка языков: Python, JavaScript, Lua, C++ и другие.

🐍 Python Tech Code
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥4👍21
🖥 Как повысить читаемость SQL-логов в проекте с помощью одной библиотеки

Больше не нужно вручную приводить SQL-код в порядок! Эта библиотека делает его читаемым и красивым автоматически.

Парсит, форматирует, валидирует и подсвечивает синтаксис SQL. Поддерживает диалекты MySQL, PostgreSQL, Oracle и другие.


Установка:
pip install sqlparse


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

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

🐍 Python Tech Code
Please open Telegram to view this post
VIEW IN TELEGRAM
👍4
💻 Небольшое напоминание для разработчиков (вы мне потом спасибо скажите):

• Изучите SQL перед ORM.

• Изучите Git перед Jenkins.

• Изучите SQL перед NoSQL.

• Изучите CSS перед Tailwind.

• Изучите Linux перед Docker.

• Изучите Solidity перед dApps.

• Изучите алгоритмы перед Python.

• Изучите REST перед GraphQL.

• Изучите JavaScript перед React.

• Изучите HTML перед JavaScript.

• Изучите React перед Microfrontends.

• Изучите Containers перед Kubernetes.

• Изучите Monolith перед Microservices.


🐍 Python Tech Code
Please open Telegram to view this post
VIEW IN TELEGRAM
4🔥3
➡️ Методы работы со строками в Python, часть 1

📲 Python в Max подписаться
Please open Telegram to view this post
VIEW IN TELEGRAM
👍83