파이썬 모듈

1 개요[ | ]

python module
  • 다른 사람들이 작성해둔 코드
  • 많이 사용하는 기능들을 모듈로 만들어 필요할 때 쉽게 사용
  • 함수, 변수, 클래스 들을 모아 놓은 파일

2 모듈 불러오기 1[ | ]

모듈의 모든 함수와 변수를 가져올 때

  • import 키워드를 사용하여 다른 사람의 코드를 가져옴
import MODULE_NAME
  • 모듈이름.모듈함수, 모듈이름.모듈변수 형태로 사용
import math # import 모듈이름 : 다른 사람의 코드를 가져옴

print(math.pi) # 모듈이름.모듈변수 : 모듈의 값을 불러와 사용

3 모듈 불러오기 2[ | ]

모듈이 가지는 하나의 함수나 하나의 변수를 가져올 때

  • 모듈에서 함수를 가져올 때
from MODULE_NAME import MODULE_FUNCTION
  • 모듈에서 변수를 가져올 때
from MODULE_NAME import MODULE_VARIABLE
  • pi라는 변수 이름만으로 값 사용이 가능
from math import pi  # from 모듈이름 import 모듈 변수 : math 모듈에서 pi 변수값을 가져옴

print(pi)

4 모듈 만들기[ | ]

누군가 만들어둔 모듈을 사용 할 수 있지만 반대로 그 모듈을 직접 만들수도 있다. 값을 받아 1만큼 더해주는 나만의 모듈을 만들어 보자.

  • 1. myModule.py 를 일반 코드 작성하듯 만듦
# myModule
def plusOne(a):
    return a + 1
→ 기존에 만들었던 파일과 다르지 않음
  • 2. 파일이 만들어진 디렉토리로 이동하여 사용
johnjeong@zetawiki:~/python$ ll 
합계 16
drwxrwxr-x  2 johnjeong johnjeong 4096  3월  5 15:57 ./
drwxr-xr-x 57 johnjeong johnjeong 4096  3월  5 15:57 ../
-rw-rw-r--  1 johnjeong johnjeong   30  3월  5 15:57 myModule.py
johnjeong@zetawiki:~/python$ python3
Python 3.5.2 (default, Nov 17 2016, 17:05:23) 
[GCC 5.4.0 20160609] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import myModule
>>> print(myModule.plusOne(1))
2
>>>
→ 만들어진 myModule.py를 import 할 시 모듈 이름만 적어주면 된다.

5 __name__[ | ]

  • 스크립트로 실행 할 때와 모듈로 불러질 때 다른 값을 가짐. 이는 스크립트가 메인 프로그램으로 실행되는지 모듈로 불러지는지 구분 할 수 있는 요소가 됨.
#myModule.py
print('name value is ', __name__)
  • 스크립트로 실행 할 경우
johnjeong@zetawiki:~/python$ python3 myModule.py
name value is  __main__
→ 스크립트로 (메인으로) 실행하면 __name__의 값은 __main__ 으로 출력됨.
  • import로 실행 할 경우
johnjeong@zetawiki:~/python$ python3
Python 3.5.2 (default, Nov 17 2016, 17:05:23) 
[GCC 5.4.0 20160609] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import myModule
name value is  myModule
→import 를 통해 모듈러 불러 들였을 때 __name__의 값은 myModule인 모듈 이름으로 출력됨.

6 __file__[ | ]

  • 모듈의 절대 경로 확인이 가능
#myModule.py
print(__file__)
  • myModule을 Import 하여 절대 경로 확인
johnjeong@zetawiki:~/python$ python3
Python 3.5.2 (default, Nov 17 2016, 17:05:23) 
[GCC 5.4.0 20160609] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import myModule
/home/johnjeong/python/myModule.py
→myModule 을 import 해보면 절대 경로가 출력됨

7 같이 보기[ | ]

8 참고[ | ]

문서 댓글 ({{ doc_comments.length }})
{{ comment.name }} {{ comment.created | snstime }}