#pp.py
def add(a,b):
return a+b
def sub(a,b):
return a-b
#파이썬 확장자 .py로 만든 파이썬 파일은 모두 모듈
pp.py
을 저장한 '디렉토리'에서 대화형 인터프리터(python 셸)를 실행한 후에 모듈을 불러온다. 1. import 모듈이름
>>> import pp
>>> print(pp.add(3,4)) #모듈.함수이름
7
>>> print(pp.sub(4,2))
2
2. from 모듈이름 import 함수이름
>>> from pp import add
>>> add(3,4)
7
# 두가지 이상 함수를 가져오고 싶을 때,
>>> from pp import add, sub # 필요한 함수만 가져오기
>>> from pp import * # 모든 함수 가져오기
#pp.py
def add(a,b):
return a+b
def sub(a,b):
return a-b
#결과를 출력하는 코드 추가
print(add(1,4))
print(sub(4,2))
# python 셸 열고 실행,
>>> import pp
5
2
➡️ 위의 모듈을 대화형 인터프리터형에서 import pp
실행하면 pp.py
가 실행되어 결과값 5,2가 나온다. 따라서 pp.py파일에 있는 add와 sub함수를 사용하려면 if __name__ == "__main__"
를 사용해야한다.
#pp.py
def add(a,b):
return a+b
def sub(a,b):
return a-b
if __name__ == "__main__": #추가
print(add(1, 4))
print(sub(4, 2))
#python 셸 열고 실행하면 아무것도 출력되지 않음!
>>> import pp
>>>
➡️ if __name__ == "__main__"
를 넣고 실행을 하면 python pp.py를 실행했을때는 __name__ == "__main__"
이 참이 되어 if문 다음 문장이 수행된다. 하지만 대화형 인터프리터나 다른파일 모듈을 불러서 사용할때는 __name__ == "__main__"
가 거짓이 되어 if문이 수행되지 않는다.
__name__
변수
- 파이썬의
__name__
변수는 파이썬이 내부적으로 사용하는 특별한 변수 이름이다. 만약~ python pp.py
처럼 직접 pp.py파일을 실행할 때는 pp.py의__name__
변수에__main__
이 저장된다. 하지만 파이썬 셸이나 다른 파이썬 모듈에서 pp.py을 import 할 경우에는 pp.py의__name__
변수에는 pp.py의 모듈 이름인 pp가 저장된다.
#pp.py
PI = 3.141592
class Math: #원의 넓이를 계산하는 클래스
def solv(self, r):
return PI * (r ** 2)
def add(a, b): # 두 값을 더하는 함수
return a+b
# 이 부분 더 공부하기ㅣ
>>> import pp #모듈 불러오기
>>> print(pp.PI) # 변수 사용
3.141592
>>> a = pp.Math() #pp.py에 있는 클래스 사용, 모듈안의 클래스를 사용할때 .연산자 사용
>>> print(a.solv(2))
12.566368
>>> print(pp.add(pp.PI,4.4)) # add함수도 사용가능. pp.PI는 객체변수????
7.5415920000000005
>>>
#p.py
import pp #파이썬 파일에서도 import로 모듈을 불러올 수 있음
result = pp.add(3,4)
print(result)
pp.py
파일을 ~/mymod라는 폴더에 옮긴다. 1. sys.path.append(모듈을 저장한 디렉토리) 사용하기
>>> import sys
>>> sys.path # 파이썬 라이브러리가 설치되어 있는 디렉토리 위치를 보여줌.
['', 'C:\\Windows\\SYSTEM32\\python37.zip', 'c:\\Python37\\DLLs',
'c:\\Python37\\lib', 'c:\\Python37', 'c:\\Python37\\lib\\site-packages']
>>> sys.path.append("모듈이 저장되어 있는 폴터 경로")
>>> sys.path # 확인하면 경로가 추가됨
>>> import pp
>>> print(pp.add(3,4))
7
➡️ pp.py
파일이 다른 디렉토리에 있지만 불러와서 사용할 수 있다.
2. PYTHONPATH 환경 변수 사용하기
>export PYTHONPATH=디렉토리경로
>python
>>> import pp
>>> print(pp.add(3,4))
7
➡️ 책에는 set
명령어를 사용하라고 했지만 파일을 못 찾아서export
명령어를 사용해 다른 디렉토리에 있는 pp.py
을 불러와서 사용했다. 참고한 블로그
+) 추가적으로 설명 : 모듈, 패키지 불러오기