📅 Підрахунок робочих днів між двома датами
Скрипт рахує кількість будніх днів (пн‑пт) між заданими датами
Основні можливості:
🔹️ Визначає робочі дні, ігноруючи суботу та неділю
🔹️ Підтримує будь‑які дати у форматі 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🇺🇦. Підписуйся для нових матеріалів!
🔢 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🇺🇦. Підписуйся для нових матеріалів!
🔍 Бібліотека 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🇺🇦. Підписуйся для нових матеріалів!
У 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🇺🇦. Підписуйся для нових матеріалів!
🎉 Випадковий вибір переможця розіграшу
Скрипт випадковим чином обирає переможця зі списку учасників та виводить його ім'я.
Основні можливості:
🔹️ Генерує випадковий індекс за допомогою random.choice
🔹️ Підтримує довільну кількість учасників у списку
🔹️ Виводить ім'я переможця у консоль
➡️ Установка: нічого не потрібно — використовується стандартна бібліотека
import random
# Список учасників розіграшу
participants = ["Anna", "Bohdan", "Kateryna", "Dmytro", "Olena"]
# Випадковий вибір переможця
winner = random.choice(participants)
💾 Бібліотека diskcache у Python
DiskCache — це бібліотека для дискового та файлового кешу, що зберігає дані між запусками процесу. Вона швидка, сумісна з Django і працює у чистому Python без зовнішніх залежностей.
Основні можливості бібліотеки:
🔹️ Зберігає дані на диску, залишаючись доступним між перезапусками процесу.
🔹️ Швидкі операції get/set: ~12 µs на простих ключах у тестах.
🔹️ Сумісний з Django як бекенд кешу, легко підключається.
🔹️ Автоматичне управління розміром кешу та вичищення старих записів.
🔹️ Повністю написаний на Python, без зовнішніх залежностей.
💡 Де може пригодитись diskcache?
✅ Кешування результатів веб‑запитів у Django‑проекті.
✅ Збереження проміжних даних у скриптах обробки великих файлів.
✅ Тимчасове сховище для CLI‑утиліт, що часто повторюють обчислення.
➡️ Встановлення бібліотеки:
pip install diskcache
⚙️ Документація
➡️ Python Enjoyer🇺🇦. Підписуйся для нових матеріалів!
🤖 Бібліотека Faker у Python
Faker — це Python‑пакет, який генерує фейкові дані для різних потреб, від заповнення бази даних до створення тестових XML‑файлів.
Основні можливості бібліотеки:
🔹️ Генерує випадкові дані одним викликом функції
🔹️ Не потребує додаткових налаштувань після встановлення
🔹️ Працює на Python 3.8 і вище
🔹️ Легко встановлюється через pip
🔹️ Простий інтерфейс через faker.Faker()
💡 Де може пригодитись Faker?
✅ Заповнення тестової бази даних реальними, але вигаданими записами
✅ Створення прикладів XML/JSON для демонстраційних сценаріїв
✅ Анонімізація реальних даних під час розробки та тестування
➡️ Встановлення бібліотеки:
pip install Faker
⚙️ Документація
➡️ Python Enjoyer🇺🇦. Підписуйся для нових матеріалів!