코드에서 어떤 패키지나 모듈을 사용하려면, 반드시 먼저 해당 요소를 코드에 가져와야(import) 합니다. Python에서는 아직 정의되지 않은 것을 사용할 수 없기 때문입니다. 물론 기본 자료형(int, float 등)처럼 내장된 요소는 언제든지 바로 사용할 수 있지만, 대부분의 작업에는 추가적인 모듈이 필요합니다.
예를 들어, 코사인 값을 계산하고 싶다고 가정해 보겠습니다. math 모듈을 가져오지 않은 상태에서 math.cos(0)을 실행하면 다음과 같이 NameError가 발생합니다.
예제
모듈을 사용하려면 코드에서 해당 모듈을 먼저 가져왔다는 사실을 Python에게 알려주어야 합니다. import 문을 실행한 후에는 정상적으로 동작합니다.
>>> math.cos(0) Traceback (most recent call last): File "<stdin>", line 1, in <module> NameError: name 'math' is not defined >>> import math >>> math.cos(0) 1.0
위 예제에서 볼 수 있듯이, import math를 실행하기 전에는 math라는 이름이 정의되어 있지 않아 오류가 발생하지만, 가져온 이후에는 math.cos() 함수를 자유롭게 사용할 수 있습니다.
내가 작성한 Python 파일 가져오기
직접 작성한 Python 파일을 가져오고 싶다면 마찬가지로 import 문을 사용하면 됩니다. 현재 작업 디렉터리에 있는 파일이라면 파일 이름(확장자 제외)만 지정하면 됩니다.
>>> import my_file # 현재 디렉터리에 my_file.py가 있다고 가정 # 다른 디렉터리의 파일이라면 절대 경로 또는 상대 경로를 지정
알아두면 좋은 추가 정보
- from ~ import 문: 모듈 전체가 아니라 특정 함수나 클래스만 가져오려면
from math import cos처럼 작성하면 됩니다. 이 경우cos(0)처럼 모듈 이름 없이 바로 호출할 수 있습니다. - 별칭(alias) 사용:
import numpy as np처럼as키워드를 활용하면 모듈 이름에 별칭을 붙여 더 간결하게 사용할 수 있습니다. - 검색 경로(sys.path): 다른 디렉터리의 파일을 가져올 때는
sys.path.append('경로')를 통해 검색 경로를 추가하거나, 경로가 포함된 환경 변수PYTHONPATH를 설정하는 방법도 있습니다.
정리하자면, Python에서 다른 파일이나 모듈을 사용하려면 import 문으로 먼저 가져와야 하며, 같은 디렉터리의 파일뿐 아니라 적절한 경로 설정을 통해 원하는 위치의 파일도 가져올 수 있습니다.