Основные тезисы
1. В модуле calendar
дни недели отображаются с понедельника по воскресенье. Каждый день недели представлен в виде целого числа, где первый день недели (понедельник) представлен значением 0, а последний день недели (воскресенье) представлен значением 6.
2. Чтобы отобразить календарь на любой год, вызовите функцию calendar
с годом, переданным в качестве аргумента, например:
import calendar
print(calendar.calendar(2020))
Примечание. Хорошей альтернативой указанной выше функции является функция prcal
, которая также принимает те же параметры, что и функция calendar
, но не требует использования print
для отображения календаря.
3. Чтобы отобразить календарь на любой месяц года, вызовите функцию month
, передав ей год и месяц. Например:
import calendar
print(calendar.month(2020, 9))
Примечание. Вы также можете использовать функцию prmonth
, которая имеет те же параметры, что и функция month
, но не требует использования print
для отображения календаря.
4. Функция setfirstweekday
позволяет изменить первый день недели. Принимает значение от 0 до 6, где 0 - воскресенье, а 6 - суббота.
5. Результатом функции weekday
является день недели в виде целого числа для заданного года, месяца и дня.:
import calendar
print(calendar.weekday(2020, 9, 29)) # This displays 1, which means Tuesday.
6. Функция weekheader
возвращает названия дней недели в сокращенной форме. Метод weekheader
требует, чтобы Вы указали ширину в символах для одного дня недели. Если предоставленная Вами ширина больше 3, Вы все равно получите сокращенные названия дней недели, состоящие всего из трех символов. Например:
import calendar
print(calendar.weekheader(2)) # This display: Mo Tu We Th Fr Sa Su
7. Очень полезная функция, доступная в модуле calendar
, - это функция под названием isleap
, которая, как следует из названия, позволяет Вам проверить, является ли год високосным или нет:
import calendar
print(calendar.isleap(2020)) # This displays: True
8. Вы можете создать объект calendar
самостоятельно, используя класс Calendar
, который при создании своего объекта позволяет Вам изменить первый день недели с помощью необязательного firstweekday
параметр, например:
import calendar
c = calendar.Calendar(2)
for weekday in c.iterweekdays():
print(weekday, end=" ")
# Result: 2 3 4 5 6 0 1
iterweekdays
возвращает итератор для номеров дней недели. Первое возвращаемое значение всегда равно значению свойства firstweekday
.
Упражнение 1
Что выведет следующий код?
import calendar
print(calendar.weekheader(1))
Упражнение 2
Что выведет следующий код?
import calendar
c = calendar.Calendar()
for weekday in c.iterweekdays():
print(weekday, end=" ")