Python

[Python] math, datetime, time, calender 모듈과 임포트 방식 4가지

juhwan 2023. 10. 4. 02:27

임포트 방식 4가지

# 기본 임포트 방식
import random 
print(random.randint(1, 10))

# r로 별칭을 주어 모듈 사용
import random as r 
print(r.randint(1, 10))


# 별칭도 없이 바로 사용하기
# from을 사용하면 randint를 바로 사용할 수 있게 된다.
from random import randint
print(randint(1, 10))

# 여러개 임포트 가능하다
from random import random, randint
print(randint(1, 10))

# random 내부 모든 함수 임포트
from random import *
print(randint(1, 10))

math 모듈

# math 임포트
import math

# 원주율
print(math.pi)
# 결과: 3.141592653589793

# 최대 공약수
print(math.gcd(10, 8))


# 올림
print(math.ceil(math.pi))

# 내림
print(math.floor(math.pi))

# 제곱근
print(math.sqrt(25))

# 절대값
# 절대값은 0부터 숫자까지에 거리를 생각하면 되며 0에서 음수까지에 거리를 양수로 나타내기 때문에 1.5가 나온다.
print(math.fabs(-1.5))

#삼각함수
x = 45
math.sin(x) # 사인
math.cos(x) # 코사인
math.tan(x) # 탄젠트

datetime 모듈

from datetime import datetime

# 현재 시간
today = datetime.now()  
# 2023-10-04 02:38:30.352786

# 년도
year = today.year  
# 2023

# 월
month = today.month  
# 10

# 요일(일:1, 월:2, 화:3, 수:4, 목:5, 금:6, 토:7)
day = today.day  
# 4

# 시간
hour = today.hour 
# 2

# 분
minute = today.minute  
# 41

# 초
second = today.second  
# 29

# 마이크로 세컨드(1초를 1,000,000으로 나눈 것)
ms = today.microsecond  
# 851677

time 모듈 (1970년부터 시작)

import time as t

# 1970년 1월 1일 0시 0분 0초 기준으로 현재까지의 초를 나타냄 소수는 1초는 0~1사이 값
print(t.time()) # 1696357488.583987

calender 모듈(달력)

import calendar

print(calendar.calendar(2023)) # 2023년 전체 달력 출력
# 실제로 아래와 같이 콘솔에 출력된다.
#                                   2023
# 
#       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             1  2  3  4  5             1  2  3  4  5
#  2  3  4  5  6  7  8       6  7  8  9 10 11 12       6  7  8  9 10 11 12
#  9 10 11 12 13 14 15      13 14 15 16 17 18 19      13 14 15 16 17 18 19
# 16 17 18 19 20 21 22      20 21 22 23 24 25 26      20 21 22 23 24 25 26
# 23 24 25 26 27 28 29      27 28                     27 28 29 30 31
# 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       1  2  3  4  5  6  7                1  2  3  4
#  3  4  5  6  7  8  9       8  9 10 11 12 13 14       5  6  7  8  9 10 11
# 10 11 12 13 14 15 16      15 16 17 18 19 20 21      12 13 14 15 16 17 18
# 17 18 19 20 21 22 23      22 23 24 25 26 27 28      19 20 21 22 23 24 25
# 24 25 26 27 28 29 30      29 30 31                  26 27 28 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          1  2  3  4  5  6                   1  2  3
#  3  4  5  6  7  8  9       7  8  9 10 11 12 13       4  5  6  7  8  9 10
# 10 11 12 13 14 15 16      14 15 16 17 18 19 20      11 12 13 14 15 16 17
# 17 18 19 20 21 22 23      21 22 23 24 25 26 27      18 19 20 21 22 23 24
# 24 25 26 27 28 29 30      28 29 30 31               25 26 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             1  2  3  4  5                   1  2  3
#  2  3  4  5  6  7  8       6  7  8  9 10 11 12       4  5  6  7  8  9 10
#  9 10 11 12 13 14 15      13 14 15 16 17 18 19      11 12 13 14 15 16 17
# 16 17 18 19 20 21 22      20 21 22 23 24 25 26      18 19 20 21 22 23 24
# 23 24 25 26 27 28 29      27 28 29 30               25 26 27 28 29 30 31
# 30 31


print(calendar.prmonth(2023,3)) # 2023년 3월 달력 출력
#      March 2023
# 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