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

파이썬 달력(calendar) 모듈 완벽 가이드 – 주요 함수와 활용 예제

파이썬(Python)에는 달력과 관련된 작업을 손쉽게 처리할 수 있는 내장 모듈 calendar가 포함되어 있습니다. 이 모듈은 특정 연도의 전체 달력 출력부터 윤년 판별, 특정 월의 달력 생성까지 다양한 기능을 제공하며, 별도의 설치 과정 없이 import만 하면 바로 사용할 수 있습니다. 지금부터 실무에서 자주 활용되는 핵심 함수들을 예제와 함께 하나씩 살펴보겠습니다.

1. calendar(year, w, l, c)

이 함수는 지정한 연도의 전체 달력을 문자열 형태로 반환합니다. 각 매개변수는 다음과 같은 의미를 가집니다.

  • year : 표시할 연도
  • w : 날짜 열의 문자 폭
  • l : 한 주당 줄 수
  • c : 월과 월 사이의 열 간격

예제

import calendar

print("2014년의 달력입니다 :")
print(calendar.calendar(2014, 3, 1, 4))

실행 결과

2014년의 달력입니다 :
    2014
   January                        February                  March
Mon Tue Wed Thu Fri Sat Sun    Mon Tue Wed Thu Fri Sat Sun    Mon Tue Wed Thu Fri Sat Sun
         1   2   3   4   5                          1   2                          1   2
 6   7   8   9  10  11  12      3   4   5   6   7   8   9     3   4   5   6   7    8   9
13  14  15  16  17  18  19     10  11  12  13  14  15  16     10  11  12  13  14  15  16
20  21  22  23  24  25  26     17  18  19  20  21  22  23     17  18  19  20  21  22  23
27  28  29  30  31             24  25  26  27  28             24  25  26  27  28  29  30
                                                                31

      April                            May                            June
Mon Tue Wed Thu Fri Sat Sun    Mon Tue Wed Thu Fri Sat Sun    Mon Tue Wed Thu Fri Sat Sun
     1   2   3   4   5   6                  1   2   3   4                              1
 7   8   9  10  11  12  13      5   6   7   8   9  10  11      2   3   4   5   6   7   8
14  15  16  17  18  19  20     12  13  14  15  16  17  18      9  10  11  12  13  14  15
21  22  23  24  25  26  27     19  20  21  22  23  24  25     16  17  18  19  20  21  22
28  29  30                     26  27  28  29  30  31         23  24  25  26  27  28  29
                                                              30

      July                           August                       September
Mon Tue Wed Thu Fri Sat Sun    Mon Tue Wed Thu Fri Sat Sun    Mon Tue Wed Thu Fri Sat Sun
      1   2   3   4   5   6                      1   2   3      1   2   3   4   5   6   7
 7   8   9  10  11  12  13      4   5   6   7   8   9  10      8   9  10  11  12  13  14
14  15  16  17  18  19  20     11  12  13  14  15  16  17      15  16  17  18  19  20  21
21  22  23  24  25  26  27     18  19  20  21  22  23  24      22  23  24  25  26  27  28
28  29  30  31                 25  26  27  28  29  30  31      29  30

       October                          November                     December
Mon Tue Wed Thu Fri Sat Sun    Mon Tue Wed Thu Fri Sat Sun    Mon Tue Wed Thu Fri Sat Sun
         1   2   3   4   5                         1   2      1   2   3   4   5   6   7
6   7   8   9  10  11  12      3   4   5   6   7   8   9      8   9  10  11  12  13  14
13  14  15  16  17  18  19     10  11  12  13  14  15  16     15  16  17  18  19  20  21
20  21  22  23  24  25  26     17  18  19  20  21  22  23     22  23  24  25  26  27  28
27  28  29  30  31             24  25  26  27  28  29  30     29  30  31

2. firstweekday()

이 함수는 현재 설정된 한 주의 시작 요일을 정수 형태로 반환합니다. 기본값은 0이며, 이는 월요일(Monday)을 의미합니다.

예제

import calendar

print("달력의 시작 요일 인덱스 : ", end="")
print(calendar.firstweekday())

실행 결과

달력의 시작 요일 인덱스 : 0

3. isleap(year)

이 함수는 인자로 전달된 연도가 윤년(leap year)인지 여부를 확인합니다. 윤년이면 True, 그렇지 않으면 False를 반환합니다.

예제

import calendar

if calendar.isleap(2014):
    print("해당 연도는 윤년입니다.")
else:
    print("해당 연도는 윤년이 아닙니다.")

실행 결과

해당 연도는 윤년이 아닙니다.

4. leapdays(year1, year2)

이 함수는 두 인자로 지정한 기간 사이에 포함된 윤년의 개수를 계산합니다. 이때 시작 연도는 범위에 포함되고, 마지막 연도는 제외된다는 점에 유의하세요.

예제

import calendar

print("1950년부터 2000년 사이의 윤년 수 : ", end="")
print(calendar.leapdays(1950, 2000))

실행 결과

1950년부터 2000년 사이의 윤년 수 : 12

5. month(year, month, w, l)

이 함수는 지정한 연도와 월에 해당하는 달력을 문자열로 반환합니다. 매개변수는 순서대로 연도(year), 월(month), 날짜 열의 문자 폭(w), 한 주당 줄 수(l)를 의미합니다.

예제

import calendar

print("2017년 6월의 달력입니다 :")
print(calendar.month(2017, 6, 3, 1))

실행 결과

2017년 6월의 달력입니다 :
         June 2017
Mon Tue Wed Thu Fri Sat Sun
              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

마무리

파이썬의 calendar 모듈은 단 몇 줄의 코드로 전체 연도 달력, 특정 월의 달력, 윤년 계산 등을 손쉽게 처리할 수 있게 해주는 강력한 도구입니다. 일정 관리 프로그램, 날짜 계산기, 리포트 자동화 등 다양한 프로젝트에서 유용하게 활용할 수 있으니 위 예제들을 직접 실행해 보며 익혀보시기 바랍니다.