Как использовать модуль календаря Python

Python предлагает встроенный модуль календаря, который позволяет вам манипулировать кодом для определенных дней или месяцев в году. Вы можете использовать его, например, для вывода строки всех календарных месяцев в году.

Вот как начать работу с классом календаря Python и сделать с его помощью календарь своими руками.

Как начать работу с модулем календаря

Модуль календаря прост в использовании. А поскольку это встроенный модуль Python, вам не нужно устанавливать его отдельно.

Для начала откройте файл Python и импортируйте модуль календаря :

 import calendar

Смотрите дни недели

Начиная с понедельника, начального дня недели модуля по умолчанию, вы можете вывести дни недели в сокращенной форме с помощью функции weekheader () .

Однако функция модуля weekheader () принимает аргумент ширины. Это целое число, указывающее номер или длину сокращенной строки:

 import calendar
print(calendar.weekheader(2)) # set the abbreviation length to 2
Output: Mo Tu We Th Fr Sa Su

По умолчанию модуль устанавливает первый день недели в понедельник. Вы можете изменить это значение на воскресенье, используя функцию setfirstweekday () модуля календаря .

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

 import calendar
# set the first day of the week to Sunday:
calendar.setfirstweekday(calendar.SUNDAY)
print(calendar.weekheader(3)) # set the abbreviation length to 3
Output: Sun Mon Tue Wed Thu Fri Sat

Посмотрите, является ли год скачком или нет

Python позволяет вам проверить, является ли год скачком, когда вы вызываете функцию isleap () из класса календаря .

Однако функция принимает аргумент года (2023, как в приведенном ниже коде) и возвращает логический вывод:

 import calendar
print(calendar.isleap(2023))
Output: False

Проверьте количество високосных дней между диапазонами определенного года

Вы используете високосные дни (), чтобы проверить количество високосных дней между определенными диапазонами года.

Например, чтобы проверить количество високосных дней между 2021 и 2030 годами:

 import calendar
checkleap = calendar.leapdays(2022, 2030)
print("There are {} leap days between 2022 and 2030".format(checkleap))
Output: There are 2 leap days between 2022 and 2030

Связанный: Как работает метод Python String format ()?

Проверьте первый день недели в месяце

Модуль возвращает список дней недели. По сути, понедельник, первый день недели по умолчанию, эквивалентен нулю, а вторник – единице – в таком порядке до воскресенья, последнего дня недели, который является шестым индексом.

Вы можете подтвердить это, распечатав первый день недели по умолчанию, используя метод firstweekday () класса календаря :

 import calendar
print(calendar.firstweekday())
Output: 0

Используя это понимание, давайте проверим первый день сентября 2020 года с помощью функции weekday () :

 import calender
print(calendar.weekday(2021, 9, 1)) # This accepts a year, a month, and a date argument
Output: 2

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

Связанный: Как массивы и списки работают в Python

Вы также можете проверить первый день месяца и увидеть количество дней в этом месяце.

Для этого используйте monthrange () :

 import calendar
print(calendar.monthrange(2021, 9))
Output: (2, 30)

Вывод календаря на месяц

Чтобы просмотреть календарь на месяц, используйте функцию month () из класса calendar. Помимо интересующего года и месяца, он принимает необязательные аргументы ширины ( w ) и длины ( l ).

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

Вот как напечатать ежемесячный календарь с помощью метода month () этого класса:

 import calendar
print(calendar.month(theyear = 2021, themonth = 9, w = 4, l = 2))

Это выглядит так:

Вывод календарного года

В конечном итоге вы можете вывести весь календарный год, используя календарную функцию модуля:

 import calendar
print(calendar.calendar(2022, w=2, l=1, c=2, m=6))

Вот как выглядит результат:

В то время как w контролирует ширину, а l контролирует длину между каждой строкой, c и m определяют количество строк и столбцов соответственно. Не стесняйтесь настраивать значения этих параметров, чтобы увидеть, что произойдет.

Вот и все! Вы только что создали календарь с помощью Python. Если вам интересно, вы также можете посмотреть документацию модуля календаря, чтобы узнать больше о его различных методах и функциях.

Практикуйтесь больше с модулем календаря Python

В этой статье мы обсудили только основные концепции модуля календаря. Это нечто большее, чем то, о чем может рассказать эта статья. Модуль, например, предлагает декораторы и виджеты HTML и CSS для стилизации вашего календаря и представления его как HTML. Плюс к этому есть исчерпывающая документация. Так что не стесняйтесь играть с ним, как вам нравится. Удачного кодирования!