반응형
Preface
디렉터리에 있는 다양한 모듈을 현재 작업중인 파일에 불러와 사용하는 방법을 알아보았다.
이 과정에서 많은 사람들이 공통적으로 사용하는 일반적인 함수는 언제든 불러와 사용할 수 있지만, 사용자가 임의로 제작한 특정 함수들을 다른 파일에 불러와 사용하게 되면 해당 함수의 기능이 정의되어있지 않아 오히려 이해하기 어려울 것 같다는 생각이 들었다.
만약 공동 작업을 할 때 특정 함수를 불러와 작업을 해야 하는 상황이 닥치게 된다면 각 함수마다 주석을 다는 것이 필요해 보인다.
1. 모듈이란?
# 파이썬 확장자 .py로 만든 파이썬 파일은 모두 모듈이다.
def add(a, b):
return a + b
def sub(a, b):
return a - b
2. 모듈 불러오기 1
import mod1
print(mod1.add(2, 5))
print(mod1.sub(8, 2))
# import는 현재 디렉터리에 있는 파일이나 파이썬 라이브러리가 저장된 디렉터리에 있는 모듈만 불러올 수 있다.
from mod1 import add
print(add(3, 5))
from mod1 import add, sub
from mod1 import *
# * 문자는 '모든 것'이라는 뜻으로, 모든 함수를 불러 사용하겠다는 의미이다.
3. 모듈 불러오기 2
def add(a, b):
return a + b
def sub(a, b):
return a - b
if __name__ == "__main__":
print(add(1, 4))
print(sub(5, 1))
# if __name__ == "__main__"을 사용하면 직접 이 파일을 실행했을 때는
# __name__ == "__main__"이 참이 되어 if문 다음 문장이 수행된다.
# 반대로 대화형 인터프리터나 다른 파일에서 이 모듈을 불러서 사용할 때는
# __name__ == "__main__"이 거짓이 되어 if문 다음 문장이 수행되지 않는다.
4. 클래스에 있는 함수와 일반 함수 불러오기
import mod4
print(mod4.PI)
a = mod4.math()
print(a.solv(2))
print(mod4.add(mod4.PI, 4))
# add는 class 안의 함수가 아니다.
5. sys를 통해 모듈 불러오기
import sys
print(sys.path)
sys.path.append('c:/Users/김경모/Desktop/python')
# sys.path.append(모듈을 저장한 디렉터리): 모듈을 저장한 디렉터리로 이동하는 것이 아닌,
# 모듈을 불러와 사용하는 방법
print(sys.path)
728x90
반응형
댓글