인프런 파이썬 입문 수업을 듣고 중요한 내용을 정리했습니다.
개인 공부 후 자료를 남기기 위한 목적이므로 내용 상에 오류가 있을 수 있습니다.
module
- 기본 개념
모듈은 변수, 함수, 클래스 등의 파이썬 구성요소들을 모아놓은 파일이다.
# 기본 예시 import sys print(sys.path) print(type(sys.path)) # print(sys.path)를 통해 파이썬의 모듈과 패키지 경로를 찾아서 사용할 수 있다. # 즉, 외부 모듈과 패키지를 sys.path에 등록하면, # 등록된 경로를 통해 외부 모듈과 패키지를 불러와서 사용 가능하다. sys.path.append('/Users/donggyu/Desktop/math') print(sys.path) import test_module # append( ) 함수를 통해 sys.path에 모듈 경로를 등록(반영구적 등록)하면, # print(sys.path) 코드를 통해 모듈 파일의 경로가 새롭게 등록된 것을 # 확인할 수 있다.('/Users/donggyu/Desktop/math') # 그리고 import를 통해 등록된 모듈 파일을 불러오면, 모듈 파일의 기능을 사용할 수 있다. print(test_module.power(10, 3)) # 이처럼 외부에서 불러온 모듈 파일의 기능을 사용할 수 있다. # 여기서 power( ) 함수는 내부에 존재하는 함수가 아니라 외부에서 불러온 모듈의 기능이다. # 참고 예시 # 외부 파일에서 모듈을 불러와서 모듈의 기능을 사용할 때, # import가 되고 실행버튼을 누르면 자동으로 외부파일에서 모듈의 코드가 # 실행되는 특징이 있다. # 하지만 이렇게 실행되는 모듈의 코드 중에는 사용자가 원하지 않는 코드이거나, # 혹은 함부로 실행되면 안되는 코드가 존재할 수 있기 때문에 주의해야 한다. # 따라서, 이러한 문제를 사전에 방지하기 위해서는 모듈의 코드를 아래와 같이 수정해야 한다. [모듈 파일의 코드] (수정 전) print('-' * 15) print('called inner!') print(add(5,5)) print(subtract(15,5)) print(multiply(5,5)) print(divide(10,2)) print(power(5, 3)) print('-' * 15) (수정 후) if __name__ == '__main__': print('-' * 15) print('called! __main__') print(add(5,5)) print(subtract(15,5)) print(multiply(5,5)) print(divide(10,2)) print(power(5, 3)) print('-' * 15) # 여기서 __main__은 코드가 실행되는 대상을 의미하기 때문에, # __main__의 코드가 존재하는 파일에서만 실행되고 외부에서는 실행되지 않는다. # 이처럼 모듈 파일의 코드에 if __name__ == '__main__':의 코드를 추가하면, # 외부 파일에서 해당 모듈 파일을 import할 때 모듈 파일의 코드가 자동으로 실행되는 것을 # 사전에 방지할 수 있다.
'Python' 카테고리의 다른 글
Python - Exception (0) | 2021.10.18 |
---|---|
Python - package (0) | 2021.10.18 |
Python - class (0) | 2021.10.15 |
Python - input (0) | 2021.10.15 |
Python - functions (0) | 2021.10.15 |
댓글