Module (97%)
Section (93%)

Основные тезисы

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=" ")