# 세줄요약 #
1. 모듈(module)은 독자적인 기능을 갖는 구성 요소를 의미하는데 파이썬에서는 각각의 소스파일을 의미한다.
- 사용법: import 키워드를 사용하여 자신 또는 다른 프로그래머가 만든 소스파일을 불러와서 사용할 수 있다.
#code block#
# 모듈 약자를 사용하는 방법
import module as mod
mod.function()
# 모듈의 특정 함수만 불러오는 방법
from module import function
function()
- 모듈의 종류
- 표준 모듈: 파이썬에 내장된 자체모듈
- 사용자 생성 모듈: 프로그래머가 직접 작성한 모듈
- 서드파티 모듈: 다른 프로그래머 또는 업체가 제공한 모듈
2. 파이썬은 최상위 수준에서 실행되는 스크립트가 있을뿐 메인함수가 따로 없기에 현재 실행되는 스크립트(최상위 수준 스크립트)가 메인 모듈이 된다.
- 파이썬 내장 전역 변수 __name__을 사용하면 모듈이 최상위 수준으로 실행될 때, __name__변수가 __main__으로 지정된다.
#code block# : [sub.py]
print('this is sub.py')
print('name = {}'.format(__name__))
#code block# : [main.py]
import sub
print('this is main.py')
print('name = {}'.format(__name__))
- 위 모듈에서 main.py를 실행시키면 결과는 아래와 같다.
this is sub.py name = sub this is main.py name = __main__ |
- 처음 두줄은 import sub을 통해 sub.py 모듈의 코드가 실행된 것이고, 아래 두줄은 main.py의 코드가 실행된 결과이다.
- 어떤 코드를 최상위 수준일 때만 실행되도록 하고 싶다면 if __name__ == '__main__': 을 사용하면 된다.
3. 패키지: 모듈을 모아두는 디렉토리, 패키지화 되면 라이브러리처럼 사용할 수 있다.
- 모듈의 수가 늘어날 경우 모듈의 이름이 충돌하거나 찾기 어렵지 않도록 디렉토리를 만든 후 패키지화 시켜야 한다.
- 이때 파이썬의 패키지로 인정 받으려면 해당 디렉토리에 __init__.py 파일을 가지고 있어야 한다.
* 예를 들어, my_module이라는 패키지를 만들려면,
/my_module > __init__.py > func1.py > func2.py > func3.py |
#code block# : [__init__.py]
__all__ = ['func1', 'func2', 'func3']
- 위와 같이 __init__.py 파일을 만들고 패키지 안의 모듈리스트를 __all__ 변수 안에 담아줘야 한다.
* 출처: 뇌를 자극하는 파이썬3 / 박상현 / 한빛미디어
'교재 리뷰 > 뇌를 자극하는 파이썬3' 카테고리의 다른 글
뇌를 자극하는 파이썬3 - 10. 오류를 어떻게 다뤄야 할까 (0) | 2019.11.11 |
---|---|
뇌를 자극하는 파이썬3 - 9. 클래스 (0) | 2019.11.11 |
뇌를 자극하는 파이썬3 - 7. 함수로 코드 간추리기 (0) | 2019.10.22 |
뇌를 자극하는 파이썬3 - 6. 프로그램의 흐름 제어하기 (0) | 2019.10.22 |
뇌를 자극하는 파이썬3 - 5. 데이터 다루기: 리스트와 튜플과 딕셔너리 (0) | 2019.10.22 |
댓글