все Python 3calendarфункция
calendar.isleap()
даты и високосные годы
Проверяет, високосный ли год по григорианскому календарю: True или False.
Синтаксис
calendar.isleap(year)
Правило не сводится к «делится на 4»: годы, кратные 100, не високосные, если не кратны 400, — 1900 нет, 2000 да. Самописная проверка year % 4 == 0 ошибается именно на таких годах. Для числа високосных лет в диапазоне есть leapdays(), а длину февраля проще взять из monthrange().
Примеры
import calendar
print(calendar.isleap(1900), calendar.isleap(2000), calendar.isleap(2024)) # → False True True
print(1900 % 4 == 0) # → True — наивная проверка ошибается
См. также
Открыть в полном глоссарииdocs.python.orgСообщить о неточности