모듈 (module)
Python의 모듈은 크게 표준 모듈과 외부 모듈로 나눌 수 있습니다.
Python에 내장된 것이 표준 모듈, 다른 사람들이 작성하여 공개되어 있거나 본인이 만든 파일을 외부 모듈이라고 할 수 있습니다.
이 모듈들은 import 문을 사용하여 가져오고 사용할 수 있습니다.
.py, .pyc, .pyd 파일을 import 할 수 있습니다.
확장자 | 의미 |
.py | Python 소스 코드 |
.pyc | Python 소스를 컴파일하여 생성된 byte 코드 |
.pyd | Python이 사용하는 windows dll 로 만들어진 C 모듈 |
같은 경로에 있는 경우 바로 import하면 됩니다.
다른 디렉토리에 있는 경우 (예: c:\mypython\hellomodule.py) sys 모듈의 path.append() 함수를 사용하여 import할 수 있습니다.
summodule.py
def sum(a, b):
return a + b
c:\mypython\hellomodule.py
def printhello():
print('hello')
main.py
import sys
#같은 경로에 있는 경우
import summodule
#c:\mypython\hellomodule.py 를 import하는 경우
sys.path.append("c:\\mypython")
import hellomodule #path.append 이후 선언
print(summodule.sum(1, 2))
hellomodule.printhello()
라이브러리 (library)
위에서 본 것처럼 import하여 다른 모듈의 기능을 사용하는 경우, 해당 모듈을 라이브러리라고 합니다.
위에서 만든 summodule.py 를 사용한다고 했을 때, from 모듈명 import 함수명 의 형태로 기능을 직접 사용할 수도 있습니다.
from summodule import sum #sum 함수만 가져와서 사용하겠다.
#또는 from summodule import * #모든 함수를 다 가져와서 사용하겠다.
print(sum(1, 3))
프레임워크 (framework)
import 하는 모듈이 내가 작성한 코드를 실행하는 경우를 IoC (Inversion of Control, 제어 역전) 되었다고 합니다.
그리고 이렇게 내가 작성한 코드를 실행하는 모듈을 프레임워크라고 합니다.
아래는 인터넷 상에서 흔한 예시로 사용되는 코드입니다.
Flask는 웹 개발용 프레임워크 입니다. 자세한 동작은 나중에 파악하도록 하고, 아래 코드에서 hello() 함수를 실행하는 코드는 존재하지 않습니다.
이 함수는 브라우저 등을 통해 사용자가 "http://ip:port/" 주소로 접근 시 동작하게 됩니다. import한 flask 모듈에서 제 코드를 실행시키는 것입니다.
from flask import Flask
app = Flask(__name__)
@app.route("/")
def hello():
return "Hello, World!"
'프로그래밍 언어 > Python' 카테고리의 다른 글
Python 표준 라이브러리 (파일 -file-) (0) | 2021.03.01 |
---|---|
Python 패키지 (Package)와 __init__.py (0) | 2021.02.28 |
Python 함수 (function) -def- (0) | 2021.02.27 |
Python 반복문 (for, while) (0) | 2021.02.27 |
Python의 조건 판단 (if-elif-else) (0) | 2021.02.26 |