import 모듈명
기본적인 형태
1
2import mymath
print mymath.area(5)from 모듈명 import 가져올 대상
- 해당 모듈에 존재하는 대상을 가져옴
- 기존에 존재하던 이름이면 기존 객체가 상실됨
- 모듈 이름 없이 바로 사용 가능
1
2from mymath import area, mypi
print area(5)
from 모듈명 import *
- 해당 모듈에 존재하는
__
로 시작되는 것들을 제외한 모든 대상을 가져옴1
2from mymath import *
print area(5)
- 해당 모듈에 존재하는
import 모듈명 as 새로운 모듈 이름
- 해당 모듈을 다른 이름으로 사용하고자 할 때 사용
- 기존 모듈 이름이 너무 길거나 현재 사용중인 이름인 경우 유용
1
2
3
4import string as chstr
print chstr
print
print chstr.punctuation
from 모듈명 import 이름 as 새로운 이름[, 이름 as 새로운 이름]
- 해당 모듈 내에 정의된 이름을 새로운 이름으로 사용하고자 할 때
1
2
3
4
5
6from string import replace as substitute[, upper as up]
print substitute
print substitute('ham chicken spam', 'chicke', 'egg')
print up
print up('abc')
- 해당 모듈 내에 정의된 이름을 새로운 이름으로 사용하고자 할 때
- import문은 어디에서나 사용가능(함수 내에서도 가능)
컴파일과 적재시간
import mymath
를 수행할 때 발생하는 일mymath.pyc
를 찾는다- 없다면
mymath.py
를 찾아서mymath.pyc
를 생성한다 mymath.pyc
를 메모리로 읽어들여 수행한다
.pyc
파일바이트 코드 파일
- 기계나 플랫폼(운영체제 등)에 의존하지 않도록 만들어진 일종의 목적 코드(Object code)
- 파이썬은 컴파일 언어이면서 동시에 인터프리터 언어의 수행 방식을 취함
새로운
.pyc
파일 생성에 대한 판단.py
수정시간이.pyc
수정 시간보다 더 최근일 때
.py
가 없이.pyc
파일만 있어도import
가능- 코드를 숨기는 방법으로 활용 가능
같은 이름을 다시 사용할 때
- 같은 이름 사용하면 이전의 내용이 삭제되지만 모듈은 메모리에 남아있고, 다시
import
하면 다시 가져오는 것이 아니라 메모리에 존재하는 모듈을 활용함. 따라서 기존에 추가 정의한 내용들 사용가능
모듈의 실행과 테스트 코드
__name__
- 현재의 모듈이 최상위 모듈로서 수행되는지, 아니면다른 모듈에 의해
imort
되어 수행되는지를 구별하기 위해 주로 사용 - 최상위 모듈에서 사용할 때 ->
__main__
다른 모듈에서 사용될 때 -> 해당 모듈의 이름
1
2
3
4print __name__ # __main__ 출력
import prname
print prname.__name__ # prname출력사용방법
1
2
3
4
5
6
7
8
9def add(a, b):
return a + b
def f():
print "Python is becoming popular."
if __name__ == "__main__":
print add(1, 10)
f()- 직접 실행할 때는
if
절 동작 - 다른 곳에서 활용할 경우
if
절 무시
- 직접 실행할 때는
- 현재의 모듈이 최상위 모듈로서 수행되는지, 아니면다른 모듈에 의해