-
Python: 모듈 import하고 표준 라이브러리 모듈 사용해보기! (feat. math, random, datetime)Python 2020. 6. 30. 00:37
1. 내가 만든 모듈 import하기
project 안에 calculator.py 라고 해서 계산기능을 넣은 py 파일을 만들어 줍니다.
def add(x, y): # 덧셈 return x + y def subtract(x, y): # 뺄셈 return x - y def multiple(x, y): # 곱셈 return x * y def divide(x, y): # 나눗셈 return x / y
<calculator.py>
이제 같은 디렉토리 안에 있는 다른 py파일에 import 파일명을 해줍니다.
import calculator x = 10 y = 5 print(calculator.add(x, y)) print(calculator.subtract(x, y)) print(calculator.multiple(x, y))
단, calculator 안에 있는 메서드에 접근할때는 calculator.을 통해 접근해주어야 합니다.
이외에도 다른 방식으로 import해줄 수 있습니다.
1) import 파일명 as 원하는 이름
import calculator as calc x = 10 y = 5 print(calc.add(x, y)) print(calc.subtract(x, y)) print(calc.multiple(x, y))
calculator가 너무 길다 싶으면 as라는 예약어를 이용하여 원하는 이름으로 접근할 수 있습니다.
2) from 파일명 import 가져오고 싶은 메서드
from calculator import subtract, multiple x = 10 y = 5 print(calculator.add(x, y)) print(subtract(x, y)) print(multiple(x, y))
calculator 안에 있는 메서드를 선택하여 가져오면 이름으로 접근할 필요없이 메서드를 사용할 수 있습니다.
3) from 파일명 import *
from calculator import * x = 10 y = 5 print(calculator.add(x, y)) print(subtract(x, y)) print(multiple(x, y))
파일 안의 모든 메서드를 자유롭게 사용할 수 있지만 권장하는 방법이 아니라고 합니다.
(어떤 모듈에서 메서드를 가져왔는지 모르기 때문이라고 합니다.)
2. 표준라이브러리(Standard Library) 이용하기
표준 라이브러리(standard library)란 의 여러 구현체에서 통용될 수 있도록 만들어진 라이브러리를 말합니다.
1) math
스탠다드 라이브러리에 있는 math 모듈은 수학적 공식들을 다루기 위한 클래스를 가지고 있습니다.
import math print(math.cos(0)) #cosin 함수 print(math.log10(100)) #log함수 print(math.pi) #원주율
2.0 3.141592653589793 0.41355067746569074
2). random
스탠다드 라이브러리에 있는 random 모듈은 랜덤한 수를 다루기 위한 클래스를 가지고 있습니다.
import random print(random.random()) #0부터 1사이의 랜덤한 수 리턴 print(random.random()) print(random.random()) print(random.random()) print() print(random.randint(1, 30)) # 1부터 30까지 수 중 랜덤한 정수를 리턴 print(random.randint(1, 30)) print(random.randint(1, 30)) print(random.randint(1, 30)) print() print(random.uniform(1, 4)) # 1부터 4까지 수 중 랜덤한 소수를 리턴 print(random.uniform(1, 4)) print(random.uniform(1, 4)) print(random.uniform(1, 4))
0.16567084025323453 0.14044567563160837 0.5147560972922339 0.29403982123382055 22 10 25 1 3.018462190456747 2.094939621736902 3.069349549453514 1.4732419695228895
3) datetime
스탠다드 라이브러리에 있는 datetime 모듈은 '날짜'와 '시간'을 다루기 위한 다양한 클래스를 가지고 있습니다.
.import datetime someday = datetime.datetime(2020, 7, 4) print(someday) print(type(someday)) # 년도, 월, 일을 정해줄때 someday = datetime.datetime(2020, 7, 4, 13, 22, 45) print(someday) # 년도, 월, 일, 시간, 분, 초까지 정해줄때 today = datetime.datetime.now() print(today) # 오늘 날짜 출력
2020-07-04 00:00:00 <class 'datetime.datetime'> 2020-07-04 13:22:45 2020-06-30 00:03:28.538332
<timedelta>
# timedelta # 두 시간사이의 기간을 알고 싶을때는 time delta! (그냥 더하거나 빼면 된다.) import datetime timedelta = someday - today print(timedelta) print(type(timedelta)) #두 시간 사이를 빼서 두시간 사이의 기간을 알아낸다. my_timedelta = datetime.timedelta(4, 2, 30) # 4일 2시간 30분 print(today) print(today + my_timedelta) # timedelta를 미리 정해서 원하는 시간에 더해준다.
4 days, 13:19:16.461668 <class 'datetime.timedelta'> 2020-06-30 00:03:28.538332 2020-07-04 00:03:30.538362
<datetime 데이터 추출과 datetime 포맷팅 >
# datetime 값에서 값 추출 import datetime today = datetime.datetime.now() print(today.year) print(today.month) print(today.day) print(today.minute) print(today.hour) print(today.second) # 다음과 같이 원하는 값을 불러올 수 있다. # datetime 포맷팅: 내가 원하는 방식으로 시간을 출력할 수 있다. strftime을 이용한다. today = datetime.datetime.now() print(today) print(today.strftime("%A, %B %dth %Y")) # strftime을 이용하면 좀 더 이쁘게 출력할 수 있다.
2020 6 30 3 0 28 2020-06-30 00:03:28.539341 Tuesday, June 30th 2020
마지막으로 datetime formatting에 필요한 값들입니다!
반응형'Python' 카테고리의 다른 글
Python: 파이썬으로 로또를 만들어보자! (0) 2020.06.30 Python: with open() 파일 읽기(read), 쓰기(write), 덧붙히기(append), strip(), split() 함수란? (0) 2020.06.30 Python: 에일리어싱(Aliasing) (1) 2020.06.29 Python: 딕셔너리(Dictionary) 사전 기능! (0) 2020.06.29 Python: 리스트와 문자열을 비교해보자! (0) 2020.06.28