Computer >> 컴퓨터 >  >> 프로그래밍 >> Python

파이썬 달력 모듈 완벽 정리: calendar(), firstweekday(), isleap() 활용법

파이썬에서는 calendar 모듈을 사용해 다양한 달력 관련 작업을 손쉽게 처리할 수 있습니다. 이 글에서는 calendar 클래스의 주요 메서드와 상수들을 예제 코드와 함께 하나씩 살펴보겠습니다.

calendar.calendar(year) – 연간 달력 출력하기

calendar.calendar(year) 메서드는 지정한 연도의 전체 달력을 텍스트 형태로 반환합니다. 실제 예제를 통해 확인해 보겠습니다.

예제

# calendar 모듈 임포트
import calendar
# 연도 설정
year = 2019
# 연간 달력 출력
print(calendar.calendar(year))

실행 결과

위 코드를 실행하면 2019년의 전체 달력(1월~12월)이 콘솔에 출력됩니다.

calendar.firstweekday() – 한 주의 시작 요일 확인하기

calendar.firstweekday() 메서드는 한 주가 시작되는 요일을 숫자로 반환합니다. 기본값은 월요일(MONDAY)이며, 이는 숫자 0에 해당합니다.

예제

# calendar 모듈 임포트
import calendar
# 한 주의 시작 요일 확인
print(calendar.firstweekday())

실행 결과

0

결과값 0은 월요일이 한 주의 시작임을 의미합니다.

calendar.isleap(year) – 윤년 여부 판별하기

calendar.isleap(year) 메서드는 해당 연도가 윤년인지 아닌지를 불리언 값(True/False)으로 반환합니다. 윤년은 2월이 29일까지 있는 해로, 4로 나누어 떨어지면서 100으로 나누어 떨어지지 않거나, 400으로 나누어 떨어지는 해입니다.

예제

# calendar 모듈 임포트
import calendar
# 연도 설정
year_one = 2019
year_two = 2020
# 윤년 여부 확인
print(f'{year_one} is leap year' if calendar.isleap(year_one) else f'{year_one} is not a leap year')
print(f'{year_two} is leap year' if calendar.isleap(year_two) else f'{year_two} is not a leap year')

실행 결과

2019 is not a leap year
2020 is leap year

2019년은 윤년이 아니고, 2020년은 윤년임을 확인할 수 있습니다.

calendar 요일 상수(WEEK_CONSTANT) 활용하기

calendar 모듈에는 각 요일에 대응하는 숫자 값을 얻기 위한 요일 상수들이 정의되어 있습니다. 월요일부터 일요일까지 순서대로 0부터 6까지의 값을 가집니다.

예제

# calendar 모듈 임포트
import calendar
# 요일 번호 확인
print(f'Monday weekday: {calendar.MONDAY}')
print(f'Tuesday weekday: {calendar.TUESDAY}')
print(f'Wednesday weekday: {calendar.WEDNESDAY}')
print(f'Thursday weekday: {calendar.THURSDAY}')
print(f'Friday weekday: {calendar.FRIDAY}')
print(f'Saturday weekday: {calendar.SATURDAY}')
print(f'Sunday weekday: {calendar.SUNDAY}')

실행 결과

Monday weekday: 0
Tuesday weekday: 1
Wednesday weekday: 2
Thursday weekday: 3
Friday weekday: 4
Saturday weekday: 5
Sunday weekday: 6

마무리

이번 튜토리얼에서는 파이썬 calendar 모듈의 핵심 메서드와 상수들을 살펴보았습니다. 연간 달력 출력, 윤년 판별, 요일 상수 활용 등 실무에서 유용하게 쓰이는 기능들이니 직접 코드를 실행해 보며 익혀보시기 바랍니다. 궁금한 점이 있다면 댓글로 남겨주세요.