[코딩도장] 파이썬 모듈 만들기 요약본


모듈과 패키지 만드는것이 매일 헷갈려서 내 방식대로 정리해 두려고 한다.
이번 요약은 모듈만 하려고 한다.


Unit 45. 모듈과 패키지 만들기

파이썬 스크립트를 작성할때면 비슷한 클래스와 함수를 작성하게 된다. 그러므로 공통되는 부분은 빼내서 모듈과 패키지로 만들면 된다.

  • 모듈(module) : 변수, 함수, 클래스 등을 모아 놓은 스크립트 파일(간단한 기능만 담을때 사용)
  • 패키지(package)는 여러 모듈을 묶은 것(코드가 많고 복잡할때 사용. 패키지는 기능들이 모듈로 여러개 나뉘어 있고 관련된 모듈끼리 폴더에 모여 있는 형태)

45.1 모듈 만들기

모듈(함수만 있는) 만들고 사용하기

  • 변수나 함수가 담은 모듈명.py파일을 만든다.
  • 사용 방법1 (모듈과 같은 디렉토리)
import 모듈
모듈.변수
모듈.함수()
  • 사용 방법2 (모듈과 같은 디렉토리)
from 모듈 import 변수, 함수
변수
함수()

모듈(클래스가 있는) 만들고 사용하기

  • 클래스를 담은 모듈명.py파일을 만든다.
  • 사용 방법1 (모듈과 같은 디렉토리)
import 모듈
인스턴스 = 모듈.클래스()
인스턴스.함수()
  • 사용 방법2 (모듈과 같은 디렉토리)
from 모듈 import 클래스
인스턴스 = 클래스()
인스턴스.함수()

45.2 모듈과 시작점 알아보기

(요약) class 마지막에 if __name__ == __main__ 을 한 이유는 다른데에서 import 할때 안돌게 하기 위해서이다.(왜냐면 __main__은 현재 스크립트 파일에서만 실행되기 때문에)

예를 들어 이 아래 스크립트를 run하면

calc.py

def add(a, b):
    return a + b
 
def mul(a, b):
    return a * b
 
if __name__ == '__main__':    # 프로그램의 시작점일 때만 아래 코드 실행
    print(add(10, 20))
    print(mul(10, 20))

실행 결과

C:\project>python calc.py
30
200

그러나

import calc

를 하면 아무것도 출력하지 않는다. 왜냐하면 __name__변수의 값이 __main__일 때만 출력하게 하였기 떄문.
쓰려면

>>> calc.add(50, 60)
110
>>> calc.mul(50, 60)
3000

처럼 써야한다.



참고 : 코딩도장 - 모듈 만들기




© 2018. by statssy

Powered by statssy