티스토리 뷰

 


<<모듈이란?>>

- 미리 만들어 놓은 파이썬 파일

(함수 및 변수, 클래스 등)

 

<<모듈 사용방법은?>>

같은 퐆더의 경로에 있을 때

1. 같은 경로에 있을 때

import 사용할 모듈의 이름

- 이후 import한 모듈의 내부 함수 및 변수 혹은 클래스를 '.'을 통해 호출하여 사용

from 사용할 모듈의 이름 imort 모듈 내부 함수

- 해당 모듈의 특정 내용만 사용하고 싶을 때 from 모듈이름 improt 함수이름을 통해 사용

 

 

 

2. 모듈이 서브폴더 안에 작성된 경우

같은 폴더 안에 파일이 동일한 경로에 작성되지 않고, 사용하려는 모듈의 위치에 작성된 폴더 내부에 있는 경우

main파일에서 import할 모듈이 파이썬 폴더 안에 모듈이 있는 경우

<<sys.path.append>>

- 파이썬이라는 폴더 안의 mod2를 모듈로 import해 사용하고 싶다면,

import sys

sys.path.append("파이썬 폴더의 경로를 복사 붙여넣기")

import mod2

-하위폴더를 sys를 import후, sys.path.append를 하여 하위폴더 내부의 모듈을 import하여 사용가능

mod2가 파이썬 폴더에 있다면 파이썬 폴더의 상세경로를 복사 붙여넣기


@주의

import 사용시, 모듈의 원하지 않는 부분이 사용될 때를 방지

-호출되어 사용되는 모듈은 특정부분이 어디에서나 사용됨을 방지 하기 위해 특정 코드를 작성한다.

실행 막기용 코드 작성

<<main.py라는 파일에서 import mod1을 실행한 경우>>

- 3과 4만 출력된다.

- if __name__=="__mian__": 

  실행문

  의 형태로 작성시, 모듈을 호출해 컴파일한 파일에서는 위의 실행문이 작동되지 않는다.

- if __name__=="__main__":

  실행문

  은 컴파일한 파일이 위 코드가 작성되어 있는 해당 파일과 동일할 경우에만 실행된다.

 


<<패키지>>

모듈을 모아 패키지를 구성할 수 있다.

 

- 패키지는 init.py와 함께 만들어줘야한다.

각 경로당 하나의 __init__.py가 보통 들어있다.

- 패키지는 모듈이 여러경로에 흩어져 있고 여러개를 사용하고 싶을 때 사용하기 적합하다.

- 패키지의 init.py에서의 all을 활용한 "import *" 사용

 

error발생
init.py에 __all__을 활용

=>import *을 사용하면 init.py에 지정해놓은 모든 모듈을 불러오는 기능을 활용할 수 있다.

=> init.py에서 __all__을 활용한 모듈 정의에 해당 모듈이 없을시, error발생 혹은 __all__의 정의가 없을시 error가 발생한다.

 

- 패키지안의 모듈 호출시, as를 사용해 간략한 이름으로 사용이 가능하다

import 모듈 as 설정이름

=> e()는 echo_test와 같은 함수이다.