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

Python 캘린더(calendar) 모듈 핵심 함수 정리 – monthrange(), prcal(), weekday()

이번 튜토리얼에서는 Python의 calendar 모듈에서 자주 사용되는 대표적인 메서드들을 하나씩 살펴보겠습니다. 각 함수가 어떤 역할을 하고, 어떻게 활용할 수 있는지 예제 코드와 함께 확인해 보세요.

1. calendar.monthrange(year, month)

calendar.monthrange(year, month) 메서드는 지정한 연도와 월에 대해 '그 달의 첫날 요일 번호'와 '해당 월의 총 일수'를 반환합니다. 두 값은 튜플(tuple) 형태로 한 번에 돌려주기 때문에, 특정 월의 정보를 한꺼번에 얻고 싶을 때 매우 유용합니다.

예제

# calendar 모듈 임포트
import calendar
# 연도와 월 초기화
year = 2019
month = 1
# 요일 번호와 일수를 튜플로 받기
weekday, no_of_days = calendar.monthrange(year, month)
print(f'Weekday number: {weekday}')
print(f'No. of days: {no_of_days}')

실행 결과

위 코드를 실행하면 아래와 같은 결과가 출력됩니다.

Weekday number: 1
No. of days: 31

여기서 요일 번호는 월요일이 0부터 시작하여 일요일이 6으로 끝납니다. 즉, 결과값 1은 화요일을 의미하며, 실제로 2019년 1월 1일은 화요일이었고 1월은 31일까지 있는 달이었습니다.

2. calendar.prcal(year)

calendar.prcal(year) 메서드는 별도의 print() 함수 없이도 지정한 연도의 전체 달력을 한눈에 출력해 줍니다. 연 단위 달력을 빠르게 확인하고 싶을 때 간편하게 사용할 수 있습니다.

예제

# calendar 모듈 임포트
import calendar
# 연도 초기화
year = 2019
# prcal() 메서드로 연간 달력 출력
calendar.prcal(year)

실행 결과

위 프로그램을 실행하면 2019년 1월부터 12월까지의 전체 달력이 콘솔에 출력됩니다.

3. calendar.weekday(year, month, day)

calendar.weekday(year, month, day) 메서드는 연도, 월, 일이라는 세 개의 인자를 받아 해당 날짜의 요일 번호를 반환합니다. 반환되는 숫자는 월요일(0)부터 일요일(6)까지의 범위를 가집니다.

예제

# calendar 모듈 임포트
import calendar
# 연도, 월, 일 초기화
year = 2020
month = 1
day = 28
# 요일 번호 구하기
print(calendar.weekday(year, month, day))

실행 결과

위 코드를 실행하면 아래와 같은 결과가 출력됩니다.

1

2020년 1월 28일은 화요일이므로 요일 번호 1이 반환된 것입니다.

마무리

지금까지 Python calendar 모듈의 monthrange(), prcal(), weekday() 세 가지 메서드를 살펴보았습니다. 이 함수들을 활용하면 특정 월의 일수 확인, 연간 달력 출력, 날짜별 요일 계산 등을 손쉽게 처리할 수 있습니다. 튜토리얼 내용 중 궁금한 점이나 어려운 부분이 있다면 댓글로 남겨주세요.