import mymath
print(mymath.area(5))
from 모듈명 import 이름들
¶import
하는 이름들이 기존에 미리 존재하고 있었다면 그 이름들에 의해 참조되던 기존 객체들은 상실된다.from mymath import area, mypi
print(area(5))
from 모듈명 import *
¶from mymath import *
print(area(5))
import 모듈명 as 새로운 모듈 이름
¶import string as chstr
print(chstr)
print()
print(chstr.punctuation)
from 모듈명 import 이름 as 새로운 이름[, 이름 as 새로운 이름]
¶from string import punctuation
print(punctuation)
from string import punctuation as punc
print(punc)
from math import floor as flr, ceil as cil
print(flr)
print(flr(4.5))
print(cil)
print(cil(4.5))
print()
from math import floor, ceil
print(floor(4.5))
print(ceil(4.5))
import
문은 보통의 문(statement)이 작성될 수 있는 곳이면 어디에서나 사용 가능def
문 안이나 if
문 안에서 사용할 수 있음def str_test(s):
import string
t = string.split(s)
return(t)
import에 의한 모듈 코드 수행
import는 코드를 가져오기만 하는 것이 아니라 가져온 코드를 수행한다.
#FILE : mymath.py
mypi = 3.14
def add(a, b):
return a + b
def area(r):
return mypi * r * r
print(area(4.0))
import mymath
#기존:
#50.24
import mymath
를 수행할 때 발생하는 일mymath.pyc
를 찾는다.mymath.pyc
가 없다면 mymath.py
를 찾아서 mymath.pyc
를 생성한다.mymath.pyc
를 메모리로 읽어들여 수행한다..pyc
파일.pyc
생성에 대한 판단.py
수정 시간이 .pyc
수정 시간보다 더 최근일 때.py
가 없이도 .pyc
파일만 있어도 import
가능string = "My first string"
import string
print(string)
import string
string = "My first string" #여기서 string이란 이름은 문자열을 참조하게 된다.
print(string)
import
되었던 모듈은 메모리에 적재되어지고, 나중에 다시 동일한 모듈을 import
하면 메모리에 적재되어 있던 모듈이 즉시 사용된다.import string
string.a = 1
string = "My first string"
print(string)
import string
print(string.a) # 여기서 string 모듈이 기존에 이미 등록되었던 것임을 알 수 있다.
import되어 수행되는지를 구별하기 위해 주로 활용
prname.py
를 직접 수행할 때의 출력 내용: __main__ipython prname.py
prname.py
가 최상위 모듈로서 수행됨을 의미#FILE : prname.py
print(__name__)
prname.py
가 모듈로서 다른 이름 공간으로 import
되어질 때의 출력 내용: prname
import prname
print(prname.__name__)
import string
print(string.__name__)
import re
print(re.__name__)
import os
print(os.__name__)
add()
함수 호출이 일어난다. #file: module_test.py
def add(a, b):
return a + b
def f():
print("Python is becoming popular.")
if __name__ == "__main__":
print(add(1, 10))
f()
import
되어질 때에는 __name__은 모듈 이름 자체이므로 위 코드에서 if
문이 수행되지 않는다. test()
함수 호출이 곧바로 되지 않는다.import module_test
import Speech
sys.path
(또는 PYTHONPATH
환경 변수)에 열거된 폴더 중 하나에 위치해야 한다.Speech/Recognition/HMM.py
코드 내용def train():
print("Train")
pass
def loadModel():
print("LoadModel")
pass
def saveModel():
print("SaveModel")
pass
import
하기¶import Speech
Speech.Recognition.HMM.train()
import Speech.Recognition.HMM
Speech.Recognition.HMM.train()
from Speech.Recognition import HMM
HMM.train()
from Speech.Recognition.HMM import train
train()
import *
하기¶from Speech.Recognition.HMM import *
train()
loadModel()
saveModel()
참고 문헌: 파이썬(열혈강의)(개정판 VER.2), 이강성, FreeLec, 2005년 8월 29일