파이썬(Python)에는 달력을 손쉽게 다룰 수 있도록 calendar라는 내장 모듈이 포함되어 있습니다. 이 글에서는 calendar 모듈의 기본 개념과 주요 사용법을 예제와 함께 알아보겠습니다.
calendar 모듈에서 한 주는 월요일에 시작하여 일요일에 끝나며, 모듈은 그레고리력(Gregorian calendar)을 기준으로 동작합니다. 지금부터 실무에서 유용하게 쓸 수 있는 calendar 모듈의 핵심 메서드들을 하나씩 살펴보겠습니다.
연간 달력 출력하기
특정 연도의 전체 달력을 확인하고 싶다면 calendar.calendar(year) 클래스의 인스턴스를 생성한 뒤 출력하면 됩니다. 다음 예제를 통해 확인해 보겠습니다.
예제
# calendar 모듈 임포트 import calendar # 연도 설정 year = 2019 # 연간 달력 출력 print(calendar.calendar(2019))
실행 결과
위 코드를 실행하면 2019년 1월부터 12월까지의 전체 달력이 한 번에 출력됩니다.
calendar.calendar(year) 인스턴스를 활용하면 열 개수, 폭, 줄 간격 등을 조절해 다양한 형태의 출력 결과를 얻을 수 있습니다. dir() 함수를 사용하면 해당 객체가 제공하는 메서드 목록을 직접 확인할 수 있으니 적극적으로 활용해 보세요.
월간 달력 출력하기
특정 월의 달력만 필요하다면 calendar.month(year, month_number) 메서드를 사용하면 됩니다. 예제를 살펴보겠습니다.
예제
# calendar 모듈 임포트 import calendar # 연도와 월 설정 year = 2000 month = 1 # 해당 월의 달력 출력 print(calendar.month(year, month))
실행 결과
위 프로그램을 실행하면 다음과 같은 결과를 얻을 수 있습니다. 기본 설정에서는 월 이름이 영문으로 표시됩니다.
January 2000 Mo Tu We Th Fr Sa Su 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
추가 팁
calendar 모듈은 단순 텍스트 출력 외에도 다양한 기능을 제공합니다. calendar.TextCalendar 클래스로 텍스트 달력을 커스터마이징하거나, calendar.HTMLCalendar 클래스를 사용하면 HTML 형식의 달력을 생성해 웹 페이지에 바로 활용할 수 있습니다. 또한 calendar.isleap(year)로 윤년 여부를 확인하거나, calendar.weekday(year, month, day)로 특정 날짜의 요일을 구하는 것도 가능합니다.
마무리
이처럼 파이썬의 calendar 모듈을 활용하면 별도의 외부 라이브러리 설치 없이도 연간·월간 달력을 간편하게 생성할 수 있습니다. 튜토리얼을 따라 하면서 궁금한 점이나 어려운 부분이 있다면 아래 댓글로 남겨주세요.