[파이썬] 점프 투 파이썬 - 모듈과 패키지

2023. 6. 15. 15:51공부한 내용/점프 투 파이썬

1. 모듈

1) 모듈 만들기

*모듈

-함수나 변수 또는 클래스를 모아 놓은 파일

-다른 파이썬 프로그램에서 불러와 사용할 수 있게끔 만든  파이썬 파일

-해당 모듈(파이썬 파일)이 저장된 디렉토리로 이동한 다음 대화형 인터프리터 실행

cd C:/Users/module_folder

import module_exp.py

 

2) 모듈 불러오기

-모듈 내 함수(메소드)를 사용하려면 모듈 이름 뒤에 "."를 붙인 후, 함수 이름을 입력

import matplotlib.pyplot as plt #as 뒤에 이름을 지정함으로써 해당 모듈의 전체 이름을 쓰지 않고도 간편하게 호출 가능
plt.show()

-모듈 내 함수(메소드) 혹은 클래스를 모듈 이름 없이 사용하고 싶은 경우 from ~ import 문 이용

from torch.utils.data import Dataset

-모듈의 함수를 여러개 불러오고 싶은 경우 ","를 이용, 혹은 모든 함수를 불러오고 싶은 경우에는 "*" 사용

from torch.utils.data import DataLoader, Dataset
from torch import *

 

※ if__name__ == "__main__":

*__name__: 파이썬이 내부적으로 사용하는 특별한 변수

-파일을 직접 실행할 경우 __name__ 변수에는 __main__ 값이 저장되어, 위 조건이 참이 됨

-대화영 인터프리터나 다른 파일에서 해당 파일(모듈)을 불러와서 사용할 경우 __name__ 변수에 모듈 이름이 저장되어, 위 조건이 거짓이 됨

 

 

2. 패키지

1) 패키지(Packages)

*"."을 사용하여 파이썬 모듈을 계층적으로 관리 가능

(ex) 모듈 이름이 A.B인 경우에 A는 패키지 이름, B는 A 패키지의 B 모듈

*파이썬 패키지는 디렉터리와 파이썬 모듈로 이루어짐

*패키지 사용의 장점

① 간단한 파이썬 프로그램이 아니라면 패키지 구조로 파이썬 프로그램을 만드는 것이 공동 작업이나 유지 보수 등 여러 면에서 유리함

② 패키지 구조로 모듈을 만들면 다른 모듈과 이름이 겹치더라도 더 안전하게 사용 가능

 

2) 패키지 만들기

(1) 패키지 기본 구성 요소 준비하기

(2) 각 디렉토리에 __init__.py 파일 생성: 내용은 비워둠

-패키지 import를 사용할 경우 각 경로 안에 반드시 __init__.py를 포함해야 함. 없으면 패키지 import 실패

(3) 패키지 파일 및 모듈 파일 생성

 

3) 패키지 내 함수 실행하기

from datetime import datetime
#첫번째 datetime이 패키지, 두번째 datetime이 모듈

import datetime.datetime