이 모듈을 사용하면 유닉스 cal 프로그램과 같은 달력을 출력할 수 있으며, 달력과 관련된 함수를 제공합니다.
기본적으로 이 달력은 월요일을 주의 첫째 날로 하고, 일요일을 마지막 날로 합니다.
주의 첫째 날을 일요일(6)이나 다른 요일로 설정하려면 setfirstweekday()를 사용하십시오.
날짜를 지정하는 매개 변수는 정수로 제공됩니다. 관련 기능에 대해서는, datetime과 time 모듈도 참조하십시오.
(출처 : python.flowdas.com/library/calendar.html)
참고로 유닉스의 cal 프로그램은 이거 입니다.
자세한 설명은 맨 위의 링크를 참조해주세요. 한글 번역도 잘 되어있습니다 ㅎㅎ.
전 몇 가지 함수를 보여드리겠습니다.
일단 calendar 모듈에 대해 공부한 이유는 이 문제를 풀다가 호기심이 생겼기 때문입니다.
"2016년 1월 1일이 금요일 일 때, 2016년 a월 b일은 무슨 요일인가?"
직접 코딩해도 쉽지만, python에 이미 내장되어있는 모듈을 이용하면 함수 한줄로 바로 출력 가능합니다.
import calendar
week_list = ["MON","TUE","WED","THU","FRI","SAT","SUN"]
week_list[calendar.weekday(2016,1,1)] #calendar.weekday(2016,1,1)은 0을 return 합니다.
#결과
#MON
print(calendar.calendar(2016))
#결과
# 2016
# 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 1 2 3 4 5 6 7 1 2 3 4 5 6
# 4 5 6 7 8 9 10 8 9 10 11 12 13 14 7 8 9 10 11 12 13
# 11 12 13 14 15 16 17 15 16 17 18 19 20 21 14 15 16 17 18 19 20
# 18 19 20 21 22 23 24 22 23 24 25 26 27 28 21 22 23 24 25 26 27
# 25 26 27 28 29 30 31 29 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 1 1 2 3 4 5
# 4 5 6 7 8 9 10 2 3 4 5 6 7 8 6 7 8 9 10 11 12
# 11 12 13 14 15 16 17 9 10 11 12 13 14 15 13 14 15 16 17 18 19
# 18 19 20 21 22 23 24 16 17 18 19 20 21 22 20 21 22 23 24 25 26
# 25 26 27 28 29 30 23 24 25 26 27 28 29 27 28 29 30
# 30 31
# 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 1 2 3 4 5 6 7 1 2 3 4
# 4 5 6 7 8 9 10 8 9 10 11 12 13 14 5 6 7 8 9 10 11
# 11 12 13 14 15 16 17 15 16 17 18 19 20 21 12 13 14 15 16 17 18
# 18 19 20 21 22 23 24 22 23 24 25 26 27 28 19 20 21 22 23 24 25
# 25 26 27 28 29 30 31 29 30 31 26 27 28 29 30
# 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 1 2 3 4 5 6 1 2 3 4
# 3 4 5 6 7 8 9 7 8 9 10 11 12 13 5 6 7 8 9 10 11
# 10 11 12 13 14 15 16 14 15 16 17 18 19 20 12 13 14 15 16 17 18
# 17 18 19 20 21 22 23 21 22 23 24 25 26 27 19 20 21 22 23 24 25
# 24 25 26 27 28 29 30 28 29 30 26 27 28 29 30 31
# 31
참고로 calendar.month(year,month)를 사용하여 특정 달만 출력 가능합니다.
month대신 prmonth를 쓰게 되면 print 함수를 쓰지 않아도 출력이 됩니다.
calendar.prmonth(2016,1)
#결과
# January 2016
# 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(year)는 calendar.TextCalendar().formatyear(year)와 같습니다.
대신 후자의 경우 formatyear 대신 pryear를 쓰면 print함수를 사용하지 않아도 바로 출력이 가능합니다.
calendar.TextCalendar().pryear(2016)
#결과
# 2016
# 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 1 2 3 4 5 6 7 1 2 3 4 5 6
# 4 5 6 7 8 9 10 8 9 10 11 12 13 14 7 8 9 10 11 12 13
# 11 12 13 14 15 16 17 15 16 17 18 19 20 21 14 15 16 17 18 19 20
# 18 19 20 21 22 23 24 22 23 24 25 26 27 28 21 22 23 24 25 26 27
# 25 26 27 28 29 30 31 29 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 1 1 2 3 4 5
# 4 5 6 7 8 9 10 2 3 4 5 6 7 8 6 7 8 9 10 11 12
# 11 12 13 14 15 16 17 9 10 11 12 13 14 15 13 14 15 16 17 18 19
# 18 19 20 21 22 23 24 16 17 18 19 20 21 22 20 21 22 23 24 25 26
# 25 26 27 28 29 30 23 24 25 26 27 28 29 27 28 29 30
# 30 31
# 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 1 2 3 4 5 6 7 1 2 3 4
# 4 5 6 7 8 9 10 8 9 10 11 12 13 14 5 6 7 8 9 10 11
# 11 12 13 14 15 16 17 15 16 17 18 19 20 21 12 13 14 15 16 17 18
# 18 19 20 21 22 23 24 22 23 24 25 26 27 28 19 20 21 22 23 24 25
# 25 26 27 28 29 30 31 29 30 31 26 27 28 29 30
# 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 1 2 3 4 5 6 1 2 3 4
# 3 4 5 6 7 8 9 7 8 9 10 11 12 13 5 6 7 8 9 10 11
# 10 11 12 13 14 15 16 14 15 16 17 18 19 20 12 13 14 15 16 17 18
# 17 18 19 20 21 22 23 21 22 23 24 25 26 27 19 20 21 22 23 24 25
# 24 25 26 27 28 29 30 28 29 30 26 27 28 29 30 31
# 31
이외에도 달력을 HTML이나 CSS로도 return할 수 있습니다.
calendar.HTMLCalendar().formatyear(2016)
2016 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
\n\n\n\n\n\n\n\n
|
\n\n\n\n\n\n\n\n
|
\n\n\n\n\n\n\n\n
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
\n\n\n\n\n\n\n\n
|
\n\n\n\n\n\n\n\n\n
|
\n\n\n\n\n\n\n\n
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
\n\n\n\n\n\n\n\n
|
\n\n\n\n\n\n\n\n
|
\n\n\n\n\n\n\n\n
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
\n\n\n\n\n\n\n\n\n
|
\n\n\n\n\n\n\n\n
|
\n\n\n\n\n\n\n\n
|
[python] startswith, endswith (0) | 2020.09.06 |
---|---|
[python] set에 대해 알아보기 및 예제 (0) | 2020.09.03 |
[python] enumerate 함수 사용법 및 예제 알아보기 (0) | 2020.09.03 |
[python] lambda (0) | 2020.09.03 |