본문 바로가기

파이썬/파이썬 개념

[Python] 모듈, 모듈 만들기, 모듈 임포트 / 2021.07.23

1. 모듈 (module) 이란?
모듈은 여러 기능 (함수, 변수, 클래스) 을 모아둔, 다른 파이썬 파일에서 불러와 사용할 수 있도록 만든 파이썬 파일이다.
모듈은 파일 이름에서 .py를 빼고 부른다. ex) area.py -> area모듈
* 많이 사용되는 기능들은 이미 모듈로 만들어져 있다. ex) math모듈, random모듈
* 프로그램을 작동시키는 코드를 담은 실행 용도의 파일을 "스크립트"라 한다.
아래 예제에서 area파일은 모듈, run파일은 스크립트
물론 모듈 파일도 스크립트파일로 사용가능하다.

2. 모듈 만들기
예를 들어, 원의 면적과 정사각형의 면적을 구해주는 area모듈을 만들어 보자
area.py :

1
2
3
4
5
6
7
PI = 3.14
 
def circle(radius):
    return PI * radius * radius
 
def square(length):
    return length * length
cs

 

3. 모듈 임포트 (run파일에서 불러온 모듈을 실행할 때에는, Ctrl + Shift + F10 사용)

(1) 만든 area모듈을 불러오기 위해서 run.py를 새로 만들어 준다.

 

(2) 모듈을 불러오는 방법에는 여러 가지가 있는데,

 

첫 번째, import <module>

모듈 전체를 임포트 함으로써, 모듈 안에 있는 모든 변수 또는 함수를 .으로 접근할 수 있다.

run.py :

1
2
3
4
5
import area
 
print(area.circle(3))
print(area.square(3))
print(area.PI)
cs

실행결과 :


두 번째, from <module> import <member(s)>
모듈에서 필요한 것들만 임포트 함으로써, 불러온 변수나 함수에 접근할 때 앞에 module. 을 붙이지 않는다.
run.py :

1
2
3
4
from area import circle, square
 
print(circle(3))
print(square(3))
cs

실행 결과 :

 

세 번째, from <module> import *

모듈에서 모든 걸 임포트 하는 방식

그러나 이 방법은 권장하지 않는데, 이 임포트 방식을 사용하면 어떤 함수나 변수가 어떤 모듈에서 불러온 건지 알 수가 없기 때문이다. 모듈을 불러올 때는 모듈 전체를 가져오거나 모듈에서 필요한 것만 가져오는 것을 추천한다.

run.py :

1
2
3
4
5
from area import *
 
print(PI)
print(circle(3))
print(square(3))
cs

실행결과 :

 

* as 키워드

임포트 문 뒤에 as라는 키워드를 붙여서 임포트하는 것의 이름을 바꿀 수 있다.

1
2
3
4
5
6
7
8
9
10
11
# ex 1)
import area as ar
 
print(ar.circle(3))
 
# ex 2)
 
from area import square as sq
 
print(sq(3))
 
cs

 

1
2
3
4
5
6
7
PI = 3.14
 
def circle(radius):
    return PI * radius * radius
 
def square(length):
    return length * length
cs