import 정리

교육생의 질문에 답변하기 위해 import 관련된 것을 찾아 보았는데..
바보같게도 질문을 엉뚱하게 해석하는 바람에
import 예제를 짧게 만들어서 정리하게 되었다. 검색한 시간이 아까워서.

두 개의 파일이 있다.
second.py 파일에서 first.py에 포함된 odds, evens, dummy 객체에 접근하는 문법을 설명한다.
코드와 설명이 간단해서 따로 코드에 대한 설명은 하지 않는다.


# first.py
def dummy(a):
print('dummy :', a)

odds = [1, 3, 5, 7, 9]
evens = [0, 2, 4, 6, 8]

if __name__ == '__main__':
# if문 안에 있지 않으면, 모든 형태의 import에 대해서 호출됨.
print('===== {} ====='.format(__name__))


# second.py
# 1번
# first 파일에 포함된 모든 내용을 가져옴
# 파일에 포함된 내용에 접근할 때, 파일 이름과 함께 사용해야 함
import first

print(first.odds) # 변수 접근
first.dummy(123) # 함수 접근


# second.py
# 2번
# first 파일에 포함된 모든 내용을 가져오는 것은 동일.
# 파일에 포함된 내용에 접근할 때, 파일 이름을 사용하지 않아도 됨.
# 다만 함수 이름이 중복될 수 있기 때문에 주의가 필요함.
from first import *

print(odds)
dummy(123)


# second.py
# 3번
# first 파일로부터 원하는 내용만 가져옴.
# 명시하지 않은 내용에는 접근할 수 없음.
# 2번과 마찬가지로 접근할 때는 파일 이름 없이 접근.
from first import odds, dummy

print(odds)
dummy(123)
# print(evens) # NameError: name 'evens' is not defined

'파이썬' 카테고리의 다른 글

IP 주소를 위도와 경도로 변환  (0) 2017.06.25
현재 파일에 정의된 main 함수 호출  (0) 2017.04.19
줄 바꿈 없이 계속 출력  (0) 2017.04.19
numba - 성능 업!  (0) 2017.04.18
pprint : 쉽고 예쁘게 출력하기  (0) 2017.04.09