■ [모듈을 만들고 사용하는 방법]
# mod1.py
def sum(a,b):
return a+b
위와 같이 파일 mod1.py를 만들어 저장하면 이 파일이 바로 모듈이 된다.
이 모듈을 파이썬에서 사용하려면
>>> import mod1 >>> print(mod1.sum(3,4)) 7
■ [모듈 함수를 사용하는 또 다른 방법]
때로는 mod1.sum, mod1.safe_sum처럼 쓰지 않고 그냥 sum, safe_sum처럼 함수를 쓰고 싶은 경우도 있을 것이다. 이럴 때는 "from 모듈이름 import 모듈함수"를 사용하면 된다.
from 모듈이름 import 모듈함수
from ~ import ~를 이용하면 위와 같이 모듈이름을 붙이지 않고 바로 해당 모듈의 함수를 쓸 수 있다. 다음과 같이 따라 해보자.
>>> from mod1 import sum
>>> sum(3, 4)
7
그런데 위와 같이 하면 mod1.py 파일의 sum 함수만 사용할 수 있다. sum 함수와 safe_sum 함수를 둘 다 사용하고 싶다면 어떻게 해야 할까?
2가지 방법이 있다.
from mod1 import sum, safe_sum
첫 번째 방법은 위와 같이 from 모듈이름 import 모듈함수1, 모듈함수2처럼 사용하는 방법이다. 콤마로 구분하여 필요한 함수를 불러올 수 있다.
from mod1 import *
두 번째 방법은 위와 같이 *
문자를 사용하는 방법이다. 07장에서 배울 정규 표현식에서 *
문자는 "모든것"이라는 뜻인데 파이썬에서도 마찬가지 의미로 사용된다. 따라서 from mod1 import *
는 mod1.py의 모든 함수를 불러서 사용하겠다는 말이다.
mod1.py 파일에는 함수가 2개밖에 없기 때문에 위의 2가지 방법은 동일하게 적용된다.
■ if __name__ == "__main__":
의 의미
if __name__ == "__main__"
을 사용하면 C:\Python>python mod1.py
처럼 직접 이 파일을 실행시켰을 때는__name__ == "__main__"
이 참이 되어 if문 다음 문장들이 수행된다. 반대로 대화형 인터프리터나 다른 파일에서 이 모듈을 불러서 사용할 때는 __name__ == "__main__"
이 거짓이 되어 if문 다음 문장들이 수행되지 않는다.
■ 변수에 값을 할당하지 않고 선언만 하려면 어떻게 해야 할까요? 이럴 때는 파이썬의 None 타입이 있는데, 이것을 사용해서 초기화를 해주면 됩니다. 다른 언어에서의 NULL과 비슷한 의미입니다.
[출처] 파이썬 초보의 파이썬 프로그램 개발기 - 2|작성자 NephtyS
<reference: https://wikidocs.net/29 >
'CAE > Enjoy Programming' 카테고리의 다른 글
VS Code (0) | 2017.11.29 |
---|---|
matplotlib import 시, 에러 발생 대처방법 (0) | 2017.03.31 |
#Python #class에서 #self의 사용법 (0) | 2016.03.26 |
Solve matrix equation Ax=b (0) | 2012.03.12 |
Interpolation 예제 - UnivariateSpline (0) | 2012.01.15 |