Python enjoyer🇺🇦
24 subscribers
20 photos
29 links
Канал для справжніх любителів Python!
Тут буде цікаво як новачкам, так і досвідченим програмістам.
Підписуйся, і насолоджуйся Python!

З усіх питань звертатись до: @Andrii_Podhaniuk

#УкрТҐ
Download Telegram
👀 Бібліотека pyinstrument у Python

Бібліотека pyinstrument призначена для профілювання коду на Python і дозволяє відстежувати, скільки часу витрачається на виконання різних частин програми.

Вона надає зручний та швидкий спосіб виявлення вузьких місць у продуктивності, допомагаючи оптимізувати код.

Основні можливості бібліотеки: 🔹️ Простота використання: достатньо лише імпортувати бібліотеку та запустити профілювання.
🔹️ Текстовий і HTML-звіт: результати можна вивести у вигляді текстового звіту в консолі або у вигляді наочного HTML-файлу.
🔹️ Точне вимірювання часу: використовує стек викликів для точного обрахунку часу, витраченого кожною функцією (включаючи вкладені).
🔹️ Підтримка багатозадачності: підтримує профілювання асинхронних застосунків, зокрема з використанням asyncio.

➡️ Встановлення бібліотеки:
pip install pyinstrument

🖥 Репозиторій

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

➡️ Python Enjoyer🇺🇦. Підписуйся для нових матеріалів!
❤4👍1
👀 Бібліотека Inflect у Python

Бібліотека Inflect використовується для генерації та перетворення чисел у текстові рядки, а також для роботи з числами в різних форматах (наприклад, запис чисел словами або приведення числівників до правильної форми).

Корисна для задач, пов’язаних із форматуванням чисел у текст, зокрема під час створення лічильних фраз, фінансових звітів та інших застосунків.

Основні можливості бібліотеки:
🔹️ Перетворення чисел у текст: підтримка як цілих, так і дробових чисел.
🔹️ Генерація порядкових числівників: наприклад, «перший», «другий» тощо.
🔹️ Форми множини: автоматичне перетворення слів у множину залежно від числа.
🔹️ Форматування валют: представлення чисел у вигляді грошових сум.
🔹️ Граматично правильні числівники: правильне узгодження числівників зі словами.
🔹️ Додавання артиклів: автоматичне додавання артиклів перед словами та числами.

➡️ Встановлення бібліотеки:
pip install inflect

🖥 Репозиторій

➡️ Python Enjoyer🇺🇦. Підписуйся для нових матеріалів!
❤5🔥1😱1
🗃 Пошук великих файлів на диску за допомогою Python

Цей скрипт на Python допоможе знайти файли, які займають багато місця на диску. Ідеально для очищення простору!

Використовується модуль pathlib — сучасний інструмент для роботи з файловою системою.

Основні можливості:
🔹️ Рекурсивний обхід усіх файлів у вказаній папці
🔹️ Обчислення розміру файлів у мегабайтах
🔹️ Вивід лише тих файлів, які перевищують заданий поріг розміру

➡️ Установка: нічого не потрібно — використовується стандартна бібліотека
➡️ Скрипт запускається у кілька рядків

def FBF(шлях, поріг_мб):
поріг = поріг_мб * 1024 * 1024
for файл in Path(шлях).rglob("*"):
if файл.is_file():
try:
розмір = файл.stat().st_size
if розмір > поріг:
print(f"{файл} — {розмір / (1024 ** 2):.2f} МБ")
except FileNotFoundError:
pass

FBF("C:/", 1024)
1❤5🔥1
👀 Як зробити .exe з Python-файлу?

Щоб твій скрипт працював без встановленого Python, можна легко перетворити .py у .exe за допомогою pyinstaller.

(всі команди прописуємо в командному рядку вашого пк)

🔹 Крок 1: Встановлюємо бібліотеку
➡️pip install pyinstaller

🔹 Крок 2: Заходимо в папку з файлом
В командному рядку пишемо:
cd шлях_до_твоєї_папки

🧠 Наприклад:
cd Desktop\myproject

🔹 Крок 3: Використовуємо одну з команд

✅ Базова команда (створює один .exe):
➡️pyinstaller -F твій_файл.py

✅ Без чорного консолі (для GUI програм):
➡️pyinstaller -F -w твій_файл.py

✅ З іконкою (формат .ico):
➡️pyinstaller -F -i "іконка.ico" твій_файл.py


🔸 Готовий .exe буде в папці dist/ ✅

➡️ Документація
➡️ Репозиторій

➡️ Python Enjoyer🇺🇦. Підписуйся для нових матеріалів!
1🔥9
👀 Бібліотека pyperclip у Python

Бібліотека pyperclip призначена для роботи з буфером обміну. Вона дозволяє копіювати текст у буфер та вставляти його звідти, підтримуючи Windows, macOS і Linux.

Основні можливості:
🔹️Копіювання тексту в буфер обміну
🔹️Отримання тексту з буфера обміну
🔹️Перевірка доступності буфера обміну
🔹️Кросплатформена підтримка (Windows, macOS, Linux)
🔹️Проста у використанні, без зайвих залежностей (крім Linux — там може знадобитись xclip або xsel)

💡 Де може пригодитись pyperclip?

✅Автоматизація копіювання і вставлення тексту
✅Створення скриптів для швидкого обміну даними між додатками
✅Зручна робота з текстом в командному рядку чи ботах

➡️ Встановлення бібліотеки:
pip install pyperclip

🖥 Репозиторій

➡️ Python Enjoyer🇺🇦. Підписуйся для нових матеріалів!
2🔥7😱1
👀 Бібліотека funcy — функціональний Python без зайвого болю

Основні можливості:

🔹️Колекції: Зручні функції для списків, словників і генераторів
🔹️Лінива (відкладена) обробка: Економить памʼять при роботі з великими потоками
🔹️Декоратори: Для мемоізації, кешу, відкладеного виконання, обробки винятків
🔹️Композиції функцій: Обʼєднуй декілька функцій в одну
🔹️Обробка потоків: Створюй зручні пайплайни для обробки даних

💡 Де може стати в пригоді funcy?

✅Коли парсиш JSON із вкладеними структурами й треба зручно витягнути глибоко заховані поля (walk, select, pluck)
✅При фільтрації Telegram-чату або логів за умовами в один рядок без зайвих for і if
✅У ETL-скриптах для трансформації списків словників — замість трьох вкладених циклів, один рядок із mapcat і project

➡️ Встановлення бібліотеки:
pip install funcy

🖥 Репозиторій
⚙️ Документація

➡️ Python Enjoyer🇺🇦. Підписуйся для нових матеріалів!
1❤5🔥3👍2
from dataclasses import dataclass

@dataclass
class Point:
x: int
y: int = 0

p = Point(5)
print(p)
❤2👍1
✅ Перевірка збалансованості дужок у рядку
Скрипт перевіряє, чи правильно розставлені круглі, квадратні та фігурні дужки.

Основні можливості:
🔹️ Підтримує (), [], {} одночасно
🔹️ Використовує стек для O(n) часу
🔹️ Повертає True/False і виводить результат

➡️ Установка: нічого не потрібно — використовується стандартна бібліотека

def are_brackets_balanced(s):
stack=[]
pairs={')':'(','}':'{',']':'['}
for ch in s:
if ch in '([{':
stack.append(ch)
elif ch in ')]}':
if not stack or stack[-1]!=pairs[ch]:
return False
stack.pop()
return not stack
# приклад використання
test_str="({[]})"
print(f"{test_str!r} -> {are_brackets_balanced(test_str)}")
test_str2="([)]"
print(f"{test_str2!r} -> {are_brackets_balanced(test_str2)}")

Результат:
'({[]})' -> True
'([)]' -> False


➡️ Python Enjoyer🇺🇦. Підписуйся для нових матеріалів!
1❤4
🚀 Spicycrab: транспайлер Python→Rust для швидкості

На Python Language Summit 2026 Kushal Das представив Spicycrab — інструмент, який перетворює код Python у Rust. Це дозволяє отримати швидкість виконання, характерну для Rust, без необхідності вивчати нову мову. Транспайлер автоматично генерує Rust‑модулі і компілює їх, після чого їх можна підключати до Python‑проекту як звичайні розширення. Така можливість особливо корисна для задач, що вимагають інтенсивних обчислень, і допомагає зберегти існуючу Python‑екосистему.

🔗 Джерело

➡️ Python Enjoyer🇺🇦. Підписуйся для нових матеріалів!
❤6
📄 Гарний вивід JSON за допомогою json.dumps з indent
Скрипт форматує словник у читабельний JSON‑текст з відступами та друкує його.

Основні можливості:
🔹️ Перетворює dict у форматований JSON‑рядок
🔹️ Використовує параметр indent для читабельності
🔹️ Друкує результат без запису у файл

➡️ Установка: нічого не потрібно — використовується стандартна бібліотека

import json
# приклад словника
data = {"name": "Alice", "age": 30, "skills": ["Python", "Django", "ML"]}
# форматування у читабельний JSON
pretty = json.dumps(data, indent=4, ensure_ascii=False)
print(pretty)

Результат:
{
"name": "Alice",
"age": 30,
"skills": [
"Python",
"Django",
"ML"
]
}


➡️ Python Enjoyer🇺🇦. Підписуйся для нових матеріалів!
❤5
📄 Код для відмазок

✅ Відео: https://vt.tiktok.com/ZSbQ6mECB/

✅ Надсилає нейронці запит щоб придумати відмазку для керівництва, чому ти пропустив дедлайн.

➡️ Установка: pip install groq
➡️ Сайт для api ключа: https://console.groq.com/keys

from groq import Groq

prompt = (
"АБСУРДНА ВІДМАЗКА ЧОМУ Я ПРОПУСТИВ ДЕДЛАЙН. 1 реченням"
)
ai = Groq(api_key="ВСТАВТЕ_СЮДИ_ВАШ_ТОКЕН")
r = ai.chat.completions.create(
model="openai/gpt-oss-20b",
messages=[{"role": "user", "content": prompt}],
temperature=1.2,
)
print(r.choices[0].message.content)
❤5
🛠 Бібліотека ftfy у Python
ftfy автоматично виправляє пошкоджений Unicode‑текст (моджибейк) та інші проблеми кодування. Працює після отримання даних, тому легко інтегрується у будь‑які скрипти.

Основні можливості бібліотеки:
🔹 Виправляє mojibake та інші помилки кодування одним викликом.
🔹 Підтримує широкий спектр кодувань, включаючи «погані».
🔹 Надає налаштовувані параметри через конфігурацію.
🔹 Має CLI для швидкого виправлення файлів у терміналі.
🔹 Пропонує докладні пояснення та детекцію проблем.

💡 Де може пригодитись ftfy?
✅ Очищення тексту, скопійованого з веб‑сторінок з неправильним кодуванням.
✅ Обробка лог‑файлів, які містять змішані кодування.
✅ Підготовка даних для NLP‑моделей, де важлива коректність Unicode.

➡️ Встановлення бібліотеки:
pip install ftfy
⚙️ Документація

➡️ Python Enjoyer🇺🇦. Підписуйся для нових матеріалів!
🔥4❤1
🤖 Бібліотека Faker у Python
Faker — це Python‑пакет, який генерує фейкові дані для різних потреб, від заповнення бази даних до створення тестових XML‑файлів.

Основні можливості бібліотеки:
🔹️ Генерує випадкові дані одним викликом функції
🔹️ Не потребує додаткових налаштувань після встановлення
🔹️ Працює на Python 3.8 і вище
🔹️ Легко встановлюється через pip
🔹️ Простий інтерфейс через faker.Faker()

💡 Де може пригодитись Faker?
✅ Заповнення тестової бази даних реальними, але вигаданими записами
✅ Створення прикладів XML/JSON для демонстраційних сценаріїв
✅ Анонімізація реальних даних під час розробки та тестування

➡️ Встановлення бібліотеки:
pip install Faker
⚙️ Документація

➡️ Python Enjoyer🇺🇦. Підписуйся для нових матеріалів!
❤3🔥2
💾 Бібліотека diskcache у Python
DiskCache — це бібліотека для дискового та файлового кешу, що зберігає дані між запусками процесу. Вона швидка, сумісна з Django і працює у чистому Python без зовнішніх залежностей.

Основні можливості бібліотеки:
🔹️ Зберігає дані на диску, залишаючись доступним між перезапусками процесу.
🔹️ Швидкі операції get/set: ~12 µs на простих ключах у тестах.
🔹️ Сумісний з Django як бекенд кешу, легко підключається.
🔹️ Автоматичне управління розміром кешу та вичищення старих записів.
🔹️ Повністю написаний на Python, без зовнішніх залежностей.

💡 Де може пригодитись diskcache?
✅ Кешування результатів веб‑запитів у Django‑проекті.
✅ Збереження проміжних даних у скриптах обробки великих файлів.
✅ Тимчасове сховище для CLI‑утиліт, що часто повторюють обчислення.

➡️ Встановлення бібліотеки:
pip install diskcache
⚙️ Документація

➡️ Python Enjoyer🇺🇦. Підписуйся для нових матеріалів!
❤6🔥1
🎉 Випадковий вибір переможця розіграшу
Скрипт випадковим чином обирає переможця зі списку учасників та виводить його ім'я.

Основні можливості:
🔹️ Генерує випадковий індекс за допомогою random.choice
🔹️ Підтримує довільну кількість учасників у списку
🔹️ Виводить ім'я переможця у консоль

➡️ Установка: нічого не потрібно — використовується стандартна бібліотека

import random

# Список учасників розіграшу
participants = ["Anna", "Bohdan", "Kateryna", "Dmytro", "Olena"]

# Випадковий вибір переможця
winner = random.choice(participants)

# Виведення результату
print(f"Переможець: {winner}")

Результат:
Переможець: Bohdan


➡️ Python Enjoyer🇺🇦. Підписуйся для нових матеріалів!
❤6
🔢 Чи знали ви про кешування малих цілих у Python?

У CPython‑а всі цілі числа від ‑5 до 256 створюються один раз і зберігаються в кеші. Тому змінні, що посилаються на одне й те ж число в цьому діапазоні, мають однакову ідентичність (is True). Це економить пам’ять і прискорює порівняння. Для більших чисел кешу немає, тому їх об’єкти створюються окремо.

a = 100
b = 100
print('100 is cached:', a is b)
c = 1000
d = 1000
print('1000 cached?:', c is d)

Результат:
100 is cached: True
1000 cached?: True


➡️ Python Enjoyer🇺🇦. Підписуйся для нових матеріалів!
❤5
🔍 Бібліотека beautifulsoup4 у Python
Beautiful Soup – це бібліотека для screen‑scraping, що спрощує отримання даних з HTML та XML. Вона працює поверх парсеру і надає Python‑подібні idioms для пошуку та зміни дерева.

Основні можливості бібліотеки:
🔹️ Парсинг HTML та XML у зрозумілий дерево‑подобний об’єкт.
🔹️ Пошук елементів за тегом, атрибутом чи текстовим вмістом.
🔹️ Навігація по дереву: доступ до батьків, дітей та сусідів.
🔹️ Можливість модифікації дерева та виведення відформатованого HTML.
🔹️ Підтримка Python 3, без підтримки Python 2.

💡 Де може пригодитись beautifulsoup4?
✅ Витягування даних зі сторінок новин або блогів.
✅ Парсинг HTML‑таблиць для подальшого аналізу.
✅ Обробка XML‑файлів у скриптах автоматизації.

➡️ Встановлення бібліотеки:
pip install beautifulsoup4
⚙️ Документація

➡️ Python Enjoyer🇺🇦. Підписуйся для нових матеріалів!
❤‍🔥3❤2
🔢 Memoization Fibonacci з lru_cache
Скрипт обчислює n‑те число Фібоначчі, використовуючи @lru_cache для швидкої memoization.

Основні можливості:
🔹️ Швидке обчислення великих n завдяки кешуванню
🔹️ Використання лише стандартної бібліотеки
🔹️ Простий виклик функції з виведенням результату

➡️ Установка: нічого не потрібно — використовується стандартна бібліотека

from functools import lru_cache

@lru_cache(maxsize=None)
def fib(n: int) -> int:
# базові випадки
if n < 2:
return n
# рекурсивний виклик з кешуванням
return fib(n-1) + fib(n-2)

if __name__ == "__main__":
n = 35 # число, для якого обчислюємо Фібоначчі
result = fib(n)
print(f"fib({n}) = {result}")

Результат:
fib(35) = 9227465


➡️ Python Enjoyer🇺🇦. Підписуйся для нових матеріалів!
❤‍🔥4
📅 Підрахунок робочих днів між двома датами
Скрипт рахує кількість будніх днів (пн‑пт) між заданими датами

Основні можливості:
🔹️ Визначає робочі дні, ігноруючи суботу та неділю
🔹️ Підтримує будь‑які дати у форматі YYYY-MM-DD
🔹️ Виводить результат у консоль

➡️ Установка: нічого не потрібно — використовується стандартна бібліотека

from datetime import datetime, timedelta

def workdays_between(start_str, end_str):
"""Повертає кількість будніх днів між датами (включно)."""
start = datetime.strptime(start_str, "%Y-%m-%d")
end = datetime.strptime(end_str, "%Y-%m-%d")
if start > end:
start, end = end, start
day_count = 0
current = start
while current <= end:
if current.weekday() < 5: # 0-4 = понеділок‑п'ятниця
day_count += 1
current += timedelta(days=1)
return day_count

# приклад використання
print(workdays_between("2023-09-01", "2023-09-10"))

Результат:
6


➡️ Python Enjoyer🇺🇦. Підписуйся для нових матеріалів!
❤5