TGViewer
Python Backend | YeaHub Python Backend | YeaHub @yeahub_python_backend · 1.76K subscribers
Post #522 764
Календарь прямо в консоли Python 👩‍💻

Если вы пишете утилиты, вам может понадобиться быстрая и удобная работа с датами и временем. В Python есть встроенный и мощный модуль calendar


📎 Ничего не нужно устанавливать, модуль calendar входит в стандартную библиотеку Python.

from calendar import * # Импортируем все функции для удобства (но лучше так не делать)


🟡 Кастомизация вывода целого года

Функция calendar() — это мощный инструмент для форматированного вывода. Вы можете настроить ширину ячеек, отступы и даже количество месяцев в строке. Хорошо подходит для быстрого CLI-отчета или вывода в календаря в логи.


year = int(input("Введите год для календаря: "))

# Вывод календаря целого года с продвинутым форматированием
print(calendar(
year,
2, # Ширина каждой ячейки дня
1, # Количество строк между неделями
8, # Горизонтальный отступ между месяцами
2 # Количество месяцев в одной строке (вместо стандартных трех)
))


В результате получите отформатированный календарь прямо в терминале (попробуйте)


🟡 Работа с объектом TextCalendar

Для более тонкого контроля и работы с отдельными датами лучше использовать класс TextCalendar. Он позволяет задать, например, с какого дня недели начинается вывод.


# Создание объекта с началом недели в Понедельник (0 = Понедельник)
cal = TextCalendar(firstweekday=0)

month_num = 4 # Пример: Ноябрь
print(f"--- Ноябрь {year} ---")

# Отформатированный вывод конкретного месяца
print(cal.formatmonth(year, month_num))


🟡 Получение структурированных данных

Для программной обработки дат вам нужны не просто строки, а списки данных. Метод monthdayscalendar() возвращает недели выбранного месяца в виде списков, где 0 означает дни, не входящие в этот месяц


# Получение недель в виде списков:
# [Понедельник, Вторник, ... Воскресенье]
weeks = cal.monthdayscalendar(year, month_num)

print("\n--- Недели (списки чисел) ---")
for week in weeks:
# Здесь можно легко проверить, является ли день выходным или праздником
print("Неделя:", week)


Модуль calendar позволяет не только вывести красивый календарь в консоль, но и получить структурированные данные для дальнейшей обработки в ваших скриптах или API

Пробовали ли вы что-нибудь такое?
Делитесь опытом в комментариях 👇

🚀 Пост Guru Python: @sergey_filichkin_blog
  • ❤ 1
More from @yeahub_python_backend
  1. Oct 8, 2026#Собес #sql #order 🤔 Какой порядок выполнения SQL-запроса? 💬 Кратко: SQL выполняется не…
  2. Oct 7, 2026#Собес #memory 🤔 Middle+ Python Backend-разработчик в DELOTECH Техническое собеседование.…
  3. Oct 5, 2026#Собес #inheritance #composition #mixin 🤔 Какие есть способы переиспользования методов од…
  4. Oct 2, 2026#repository #собес 📚 Interactive Coding Challenges от Donne Martin Более 120 интерактивны…
  5. Oct 1, 2026#Собес #fork #git #repository 🤔 Что такое fork? 💬 Кратко: Fork — это копия чужого репози…
  6. Sep 30, 2026#Собес #python #versions #compatibility 🤔 Middle Python Backend разработчик в компанию Ba…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →