Post List

2015년 8월 23일 일요일

Python 기초 #12 Module (모듈)

1. Module 이란 ?

Module은 함수, 변수, Class 들을 모아둔 Python 파일 (.py) 입니다. 다른 Python 프로그램에서 import 하여 사용이 가능합니다.

#calc.py
def Add(n1, n2):
    return n1 + n2
class Calc:
    acc = 0
 
    def __init__(self, initVal = 0):
        self.acc = initVal
 
    def Add(self, n1, n2):
        self.acc += n1 + n2
 
    def Get(self):
        return self.acc
 
    def __add__(self, other):
        R = Calc(self.acc + other.acc)
        return R
 
    def __sub__(self, other):
        R = Calc(self.acc - other.acc)
        return R

#ex_mod.py
import calc
 
print(calc.Add(2,3))= calc.Calc(10)= calc.Calc(5)= A + B
print(C.Get())= A - B
print(D.Get())

위의 예제와 같이 calc.py에 해당 내용들을 저장 한 뒤
import calc라고 다른 Python 프로그램에서 참조한 뒤 사용이 가능합니다.

2. from ~ import ~

ex_mod.py의 예제를 보면 calc.py에서 참조해온 함수, Class에 대해서는 calc. 을 붙여서 사용을 했습니다.

from Module import Fucntion, Variable, Class

형식으로 선언을 하면 해당 함수, 변수, Class를 앞에 모듈이름 없이 사용이 가능합니다.

from calc import Add

위와 같이 선언을 하면 Add 함수를 calc. 을 붙이지않고 사용이 가능합니다.
2개 이상을 선언 하려면 콤마 ( , )로 여러개를 나열하면 됩니다.

from calc import Add, Calc

해당 Module의 모든 것을 다 선언하려면 * 로 선언하면 됩니다.

from calc import *

3. if __name__ == "__main__"

해당 Python 파일이 다른 곳에서 import 된게 아니라 직접 실행된 File일 경우에만 참이 됩니다.
해당 if 절 내에 Module 내의 함수, Class의 Test Code를 구현하는 용도로 사용을 많이 합니다.
위 예제의 calc.py 파일 아래에 아래와 같은 Test Code를 선언할 경우 calc.py 파일을 직접 실행시킬 때만 해당 Code가 실행됩니다.

if __name__ == "__main__":
    A = Calc(10)
    A.Add(2,3)
    print(A.Get())

댓글 없음:

댓글 쓰기