01 모듈
모듈? 함수, 변수, 클래스 등을 모아놓은 파일(.py)이다.
예를 들어, 계산기를 만드는 프로그램을 만들려고 할 때, + , - , * , / 를 수행하는 함수 4개를 만들고 모듈화시키면, 언제든지 가져다 쓰기 편하다.
아래는 계산기 프로그램 모듈이다.
- cal.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
|
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
def power(x, y):
return x ** y
|
다른 파일에서 모듈을 불러오는 방법은 아래와 같다.
- import 모듈명
1
2
3
4
5
6
7
8
|
import cal
cal.add(2,3)
cal.subtract(10,3)
cal.multiply(4,5)
cal.divide(6,2)
cal.power(3,2)
|
cs |
- from 모듈명 import 함수명
1
2
3
4
5
6
7
8
|
from cal import add, subtract, multiply, divide, power
add(2,3)
subtract(10,3)
multiply(4,5)
divide(6,2)
power(3,2)
|
- from 모듈병 import *(*는 모든 함수를 불러온다.)
* __name__ == "__main__":
외부에서 모듈을 불러올 때, 모듈안에 있는 다른 불필요한 코드나 예시코드가 실행되지 않도록 하기 위해 사용한다.
모듈 내에서 실행 시키면 코드가 실행되지만, 다른 파일에서 실행시키면 main이 아니므로 거짓이 되어 실행되지 않는다.
02 패키지
패키지? 여러 모듈을 모아 놓은 것으로 폴더 형태이다.
패키지 안의 모듈이나 함수 불러오는 방법은 아래와 같다.(방법은 다양하다.)
- import 패키지명.모듈명
- from 패키지명 import 모듈명 as alias(별명)
- from 패키지명.모듈명 import 함수명
- from 패키지명.모듈명 import *
* __init__.py :
이 파일은 해당 디렉토리가 패키지 일부임을 나타내주는 역할을 한다.
파일은 비어있거나 __all__ = ['모듈명']을 쓴다. __all__변수에 쓰지 않은 모듈은 외부에서 import 할 수 없다.
(참고로 __init__.py는 python 3.3부터 쓰지 않아도 정상적으로 실행된다. 하지만, 하위 호환을 위해 작성하는 것이 좋다.)
'Programming study > Python' 카테고리의 다른 글
[Python] 내장함수 (0) | 2021.07.28 |
---|---|
[Python] 함수(가변 매개변수, 중첩, 람다함수) (0) | 2021.07.20 |
[Python] for-else, while-else문 (0) | 2021.07.19 |
[Python] 리스트, 튜플, 딕셔너리 (0) | 2021.07.15 |
[Python] 숫자형, 문자형 (0) | 2021.07.15 |