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 |
'파이썬 > 파이썬 개념' 카테고리의 다른 글
[Python] 사칙연산 클래스 만들기 (클래스, 생성자, 클래스의 상속, 메서드 오버라이딩) / 2021.08.10 (0) | 2021.08.10 |
---|---|
[Python] 문자열, 문자열 인덱싱, 문자열 슬라이싱 / 2021.07.29 (0) | 2021.07.29 |
[Python] init 파일, init 파일임포트, init 파일에서의 변수정의 / 2021.07.25 (0) | 2021.07.25 |
[Python] 패키지, 패키지 만들기, 패키지 임포트 / 2021.07.25 (0) | 2021.07.25 |
[Python] 파일 경로 / 2021.07.24 (0) | 2021.07.24 |