Python에서 import 문이 필요한 이유
Python 코드에서 어떤 패키지나 모듈을 사용하려면, 반드시 먼저 해당 요소를 코드 안에서 접근 가능한 상태로 만들어야 합니다. 이 과정을 import(가져오기)라고 하며, import 문을 사용해 수행합니다.
Python은 아직 정의되지 않은 이름은 사용할 수 없다는 원칙을 따릅니다. 일부 기능은 인터프리터에 기본적으로 내장되어 있어 별도 작업 없이 바로 쓸 수 있습니다. 예를 들어 int, float 같은 기본 자료형은 언제든지 자유롭게 사용할 수 있습니다.
하지만 실제로 하고 싶은 대부분의 작업은 기본 내장 기능만으로는 부족합니다. 이때 필요한 것이 바로 외부 모듈의 import입니다.
NameError가 발생하는 경우
예를 들어 코사인 값을 계산하고 싶다고 가정해 보겠습니다. math 모듈을 import하지 않은 상태에서 math.cos(0)을 실행하면 다음과 같이 NameError가 발생합니다. Python 입장에서는 math라는 이름이 아직 정의되지 않았기 때문입니다.
>>> 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.cos() 등 모듈이 제공하는 모든 기능을 정상적으로 사용할 수 있습니다.
import 문 사용 시 알아두면 좋은 점
- 모듈 전체 가져오기:
import math처럼 모듈 이름 뒤에 점(.)을 붙여 함수에 접근합니다. - 특정 함수만 가져오기:
from math import cos형태로 필요한 기능만 골라 가져올 수 있으며, 이 경우cos(0)처럼 바로 호출합니다. - 별칭 붙이기:
import numpy as np처럼as키워드로 짧은 별칭을 지정하면 코드 가독성이 좋아집니다.
정리하면, import 문은 Python에게 "이 모듈을 지금 코드에서 사용할 수 있도록 준비해 달라"고 알려주는 선언입니다. 사용하려는 모듈이 있다면 반드시 코드 상단에서 먼저 import하는 습관을 들이는 것이 좋습니다.