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

Python calendar 모듈로 달력 출력하기 – 연간·월간 달력 한 번에 만들기

이 튜토리얼에서는 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.TextCalendarcalendar.HTMLCalendar 클래스를 활용하면 텍스트 형식뿐 아니라 HTML 형식의 달력도 생성할 수 있습니다.

  • 윤년 여부가 궁금하다면 calendar.isleap(year) 함수를 사용하면 간단히 확인할 수 있습니다.

마무리

지금까지 Python의 calendar 모듈로 연간 달력과 월간 달력을 출력하는 방법을 알아보았습니다. 코드가 매우 짧아서 초보자도 부담 없이 따라 할 수 있습니다. 튜토리얼을 진행하면서 궁금한 점이 있다면 댓글로 남겨주세요.