8. 모듈
8.1 모듈의 정의
8.1.1 함수
파일 내에서 일정한 작업을 수행하는 코드 블록
8.1.2 모듈
함수나 변수 또는 클래스들을 모아 놓은 파일
비슷하거나 관련된 일을 하는 함수나 상수값들을 모아서 하나의 파일에 저장하고 추후에 재사용하기 위해 사용
모듈 이름은 py 확장자를 제외한 파일이름
8.1.3 패키지
여러 모듈들을 모아놓은 디렉토리
모듈 = 파일, 패키지 = 디렉토리
8.2 모듈을 사용하는 목적
8.2.1 코드의 재사용
모듈이 없다면 자주 사용되는 함수를 매번 작성해야 하므로 개발 및 유지보수가 어렵게 됨
8.2.2 프로그램 개발시에 전체 코드들을 여러 모듈 단위로 분리하여 설계함으로써 작업의 효율을 높일 수 있음
8.2.3 별도의 이름 공간(스코프)를 제공함으로써 동일한 이름의 여러 함수나 변수들이 각 모듈마다 독립적으로 정의될 수 있음
8.3 모듈의 종류
8.3.1 표준 모듈
파이썬 언어 패키지 안에 기본적으로 포함된 모듈
대표적인 표준 모듈 예: math, string
8.3.2 사용자 정의 모듈
8.3.3 써드 파티 모듈
8.4 모듈의 선언
8.4.1 모듈 전체를 참조
import 모듈
import 모듈명 as 모듈별칭
해당 모듈을 짧은 이름으로 사용하고자 할 때 사용
기존 모듈 이름이 너무 길거나 현재 사용 중인 다른 이름들과 충돌이 일어날 때 유용
8.4.2 모듈 내에서 필요한 부분만 참조
from 모듈 import 변수 or 함수
모듈 이름을 붙이지 않고 바로 해당 모듈의 함수를 쓸 수 있다.
from 모듈명 import *
해당 모듈에 존재하는 '__'로 시작되는 이름들을 제외한 모든 이름들을 현재 이름 공간으로 불러들인다.
from 모듈명 import 이름 as 별칭
해당 모듈 내에 정의된 이름을 짧은 이름으로 사용하고자 할 때 사용
8.4.3 모듈 내부의 함수 호출 방법
모듈명.함수(인자)
8.4.4 모듈을 참조할 수 있는 디렉토리 확인
기본적으로 현재 디렉토리에 있는 파일이나 파이썬 라이브러리가 저장된 디렉토리에 있는 모듈만 불러올 수 있다.
sys 모듈 임포트 후 sys.path 로 확인 가능
sys.path.append(), sys.path.remove()로 추가, 삭제 가능
8.5 실습예제
네임스페이스 관련 실습
d:/work/python/source/greeting_en.py
def welcome():
return "Hello"
d:/work/python/source/greeting_ko.py
파이썬 코드 파일 내부에 한글을 사용할 경우 맨 위에 다음 코드를 넣어 준다.
# -*- coding:utf-8 -*-
def welcome():
return "안녕하세요"
d:/work/python/source 디렉토리로 이동한 후 파이썬 대화형 인터프리터(python.exe)를 실행한다.
cd d:/work/python/source
python.exe