728x90
반응형

다른 파이썬 프로그램에서 사용할 수 있는 파이썬 코드를 모듈이라고 한다.

예를 들어 calculation.py 파일을 만들었다고 가정하자

def add(x,y):
    return x+y

def subtract(x,y):
    return x-y

def multiply(x,y):
    return x*y

def divide(x,y):
    return x/y

이 calculation.py를 사용하기 위해 아래에 함수를 호출하면 코드가 너무 길어진다. 그래서 다른 파이썬 파일에서 calculation.py를 사용할 수 있도록 할 수 있다.

run.py 파일에서 calculation.py를 사용해보도록 하겠다.

import calculation

print(calculation.add(2,5))
print(calculation.multiply(3,4))

위와 같이 import를 통해서 calculation.py의 함수들을 사용할 수 있다.

 

calculation이라는 이름이 너무 길다고 생각될 경우 import calculation as (원하는 이름) 을 통해 사용할 수도 있다.

import calculation as calc

print(calc.add(2,5))
print(calc.multiply(3,4))

 

모듈이름을 쓰고 점을 찍고 함수이름을 쓰는 방법을 배웠다. 그런데 모듈이름을 계속 쓰기가 귀찮을수도 있다. 

calculation 함수에서 add와 multiply함수만 불러올 수도 있다.

from calculation import add,multiply

print(add(2,5))
print(multiply(3,4))

불러온 함수만 쓸 수 있다. 모든 함수를 쓰려고 하면 from calculation import * 방법으로 쓰면 되는데 출처가 불분명해지기 때문에 잘 쓰지 않는다고 한다.

 


개발자들이 자주 쓸법한 파일들은 이미 만들어져 있다. 파이썬을 설치하면 standard library라는 것이 같이 따라온다.

 

1. math 모듈

# standard library (표준 라이브러리)
import math

print(math.log10(100))
print(math.cos(0))
print(math.pi)

2.random 모듈

import random

print(random.random())#0.0과 1.0 사이의 random한 값이 출력됨

randint 함수 : 두 수 사이의 어떤 랜덤한 정수를 리턴하는 함수

randint(a,b)를 하면, a<=N<=b를 만족하는 어떤 랜덤한 정수 N을 리턴한다.

uniform 함수 : 두 수 사이의 랜덤한 소수를 리턴한다.

uniform(a,b)를 하면, a<=N<=b를 만족하는 어떤 랜덤한 소수 N을 리턴한다.

 

3. os 모듈

import os
print(os.getlogin())#어떤 계정으로 login 되어있는지 알 수 있음
print(os.getcwd())#현재 이 파일이 있는 경로를 알 수 있음

4. datetime 모듈

datetime 모듈은 '날짜'와 '시간'을 다루기 위한 다양한 '클래스'를 갖추고 있다. 

import datetime
#datetime 값 생성
yesterday=datetime.datetime(2021,5,28)
print(yesterday)#2021-05-29 00:00:00

#오늘 날짜
today = datetime.datetime.now()
print(today)

#timedelta - 두 datetime 값 사이의 기간을 알고 싶을때
today = datetime.datetime.now()
pi_day=datetime.datetime(2020,3,14,13,6,15)
print(today-pi_day)#441 days, 7:34:40.480029
today = datetime.datetime.now()
my_timedelta = datetime.timedelta(days=5, hours=3, minutes=10, seconds=50)
print(today)
print(today + my_timedelta)

#datetime 해부하기
today = datetime.datetime.now()
print(today)
print(today.year)  # 연도
print(today.month)  # 월
print(today.day)  # 일
print(today.hour)  # 시
print(today.minute)  # 분
print(today.second)  # 초
print(today.microsecond)  # 마이크로초

#datetime 포맷팅
today = datetime.datetime.now()
print(today)
print(today.strftime("%A, %B %dth %Y"))
728x90
반응형

+ Recent posts