이 튜토리얼에서는 Python의 기본 내장 모듈인 calendar 모듈을 사용해 특정 연도와 월의 달력을 출력하는 방법을 배워봅니다. Python에서는 복잡한 로직 없이 단 몇 줄의 코드만으로 달력을 만들 수 있으며, 필요한 정보는 오직 연도 숫자와 월 숫자 두 가지뿐입니다.
연간 달력 출력하기
먼저 특정 연도 전체(1월~12월)의 달력을 출력하는 방법부터 살펴보겠습니다. 아래 세 단계만 따라 하면 됩니다.
calendar모듈을 임포트(import)합니다.출력할 연도를 숫자로 초기화합니다.
calendar.calendar(year)함수를 호출해 달력을 출력합니다.
예제 코드
# calendar 모듈 임포트 import calendar # 연도 초기화 year = 2020 # 연간 달력 출력 print(calendar.calendar(year))
실행 결과
위 코드를 실행하면 다음과 같이 2020년 전체 달력이 한 번에 출력됩니다.
2020
January February March
Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa Su
1 2 3 4 5 1 2 1
6 7 8 9 10 11 12 3 4 5 6 7 8 9 2 3 4 5 6 7 8
13 14 15 16 17 18 19 10 11 12 13 14 15 16 9 10 11 12 13 14 15
20 21 22 23 24 25 26 17 18 19 20 21 22 23 16 17 18 19 20 21 22
27 28 29 30 31 24 25 26 27 28 29 23 24 25 26 27 28 29
30 31
April May June
Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa Su
1 2 3 4 5 1 2 3 1 2 3 4 5 6 7
6 7 8 9 10 11 12 4 5 6 7 8 9 10 8 9 10 11 12 13 14
13 14 15 16 17 18 19 11 12 13 14 15 16 17 15 16 17 18 19 20 21
20 21 22 23 24 25 26 18 19 20 21 22 23 24 22 23 24 25 26 27 28
27 28 29 30 25 26 27 28 29 30 31 29 30
July August September
Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa Su
1 2 3 4 5 1 2 1 2 3 4 5
6 7 8 9 10 11 12 3 4 5 6 7 8 9 6 7 8 9 10 11 12
13 14 15 16 17 18 19 10 11 12 13 14 15 16 13 14 15 16 17 18 19
20 21 22 23 24 25 26 17 18 19 20 21 22 23 20 21 22 23 24 25 26
27 28 29 30 31 24 25 26 27 28 29 30 27 28 29 30
31
October November December
Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa Su
1 2 3 4 1 1 2 3 4 5
5 6 7 8 9 10 11 2 3 4 5 6 7 8 6 7 8 9 10 11 12
12 13 14 15 16 17 18 9 10 11 12 13 14 15 13 14 15 16 17 18 19
19 20 21 22 23 24 25 16 17 18 19 20 21 22 20 21 22 23 24 25 26
26 27 28 29 30 31 23 24 25 26 27 28 29 27 28 29 30 31
30
월간 달력 출력하기
이번에는 특정 월 하나의 달력만 출력하는 방법을 살펴보겠습니다. 절차는 연간 달력과 거의 동일합니다.
calendar모듈을 임포트합니다.연도와 월 숫자를 초기화합니다.
calendar.month(year, month)함수를 호출해 해당 월의 달력을 출력합니다.
예제 코드
# calendar 모듈 임포트 import calendar # 연도와 월 초기화 year = 2020 month = 1 # 월간 달력 출력 print(calendar.month(year, month))
실행 결과
위 프로그램을 실행하면 2020년 1월 달력만 깔끔하게 출력됩니다.
January 2020
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
알아두면 유용한 팁
Python의 calendar 모듈은 기본적으로 월요일부터 한 주를 시작합니다. 일요일부터 시작하고 싶다면
calendar.setfirstweekday(calendar.SUNDAY)를 호출하면 됩니다.calendar.TextCalendar나calendar.HTMLCalendar클래스를 활용하면 텍스트 형식뿐 아니라 HTML 형식의 달력도 생성할 수 있습니다.윤년 여부가 궁금하다면
calendar.isleap(year)함수를 사용하면 간단히 확인할 수 있습니다.
마무리
지금까지 Python의 calendar 모듈로 연간 달력과 월간 달력을 출력하는 방법을 알아보았습니다. 코드가 매우 짧아서 초보자도 부담 없이 따라 할 수 있습니다. 튜토리얼을 진행하면서 궁금한 점이 있다면 댓글로 남겨주세요.