라이브러리 임포트 방법
파이썬에서 라이브러리(모듈)를 임포트 하는 방법은 매우 중요합니다. 이것은 외부 코드나 기능을 프로그램에 가져와 재사용할 수 있도록 해주는 과정입니다. 파이썬의 기본 원리를 이해하고 나면, 효율적으로 라이브러리를 활용할 수 있습니다. 이제 그 과정과 원리에 대해 자세히 설명하겠습니다.
1. 라이브러리(모듈)의 개념
- 모듈(Module): 파이썬 파일 하나로서, 이 안에 함수, 변수, 클래스 등이 정의되어 있습니다.
- 패키지(Package): 여러 개의 모듈을 폴더 구조로 묶은 것.
- 라이브러리(Library): 모듈과 패키지들을 포함한 코드 집합을 일컫습니다. 파이썬 표준 라이브러리와 서드파티 라이브러리가 있습니다.
2. import
의 기본 구조
파이썬에서는 import
키워드를 사용하여 모듈을 불러옵니다. 이를 통해 외부에 정의된 기능을 현재의 스크립트에서 사용할 수 있게 됩니다.
기본적인 임포트
import math
위 코드는 파이썬 표준 라이브러리 중 하나인 math
모듈을 불러옵니다. 이 math
모듈은 다양한 수학적 함수와 상수를 포함하고 있습니다. 이제 math
모듈의 함수를 사용할 수 있습니다.
result = math.sqrt(16) # math 모듈 내의 sqrt 함수 사용
print(result) # 출력: 4.0
특정 함수만 임포트
모듈 내의 특정 함수나 클래스만 임포트 할 수도 있습니다.
from math import sqrt
위의 경우, math
모듈 전체를 임포트하는 것이 아니라, 그중 sqrt
함수만 임포트합니다. 이렇게 하면 math.sqrt()
가 아닌 sqrt()
로 바로 사용할 수 있습니다.
result = sqrt(16)
print(result) # 출력: 4.0
모듈에 별칭(alias) 지정
긴 이름의 모듈이나 함수는 짧은 이름으로 사용할 수 있습니다. 이때 as
키워드를 사용합니다.
import math as m
이제 math.sqrt()
대신 m.sqrt()
로 간결하게 사용할 수 있습니다.
result = m.sqrt(16)
print(result) # 출력: 4.0
3. 임포트의 원리
파이썬에서 import
가 실행되면 파이썬은 모듈을 메모리에 로드합니다. 이 과정에서 모듈이 여러 번 임포트 되어도 한 번만 메모리에 적재됩니다.
모듈 탐색 경로
파이썬은 특정 순서에 따라 모듈을 찾습니다. import
명령이 실행되면 다음 경로에서 모듈을 검색합니다:
- 현재 작업 디렉터리: 현재 파이썬 스크립트가 실행 중인 디렉터리에서 모듈을 찾습니다.
- PYTHONPATH 환경 변수: 운영체제에서 설정된 환경 변수 경로를 탐색합니다.
- 표준 라이브러리 디렉터리: 파이썬이 기본적으로 설치하는 표준 라이브러리 디렉터리.
- 서드파티 라이브러리: 패키지 관리 도구인
pip
를 통해 설치한 외부 라이브러리들이 있는 디렉터리.
임포트 과정
- 모듈 파일 찾기: 파이썬은 위에 언급한 경로에서 모듈 파일을 찾습니다.
.py
,.pyc
, 또는 디렉터리를 찾을 수 있습니다. - 파일을 실행: 모듈 파일을 찾으면, 그 파일을 실행하여 모듈의 내용을 메모리에 적재합니다. 여기서 중요한 것은, 모듈은 한 번만 실행된다는 것입니다. 즉, 여러 번 임포트 하더라도 이미 로드된 모듈은 다시 실행되지 않습니다.
- 이름 공간(namespace)에 추가: 임포트한 모듈이나 함수는 현재의 이름 공간에 추가됩니다. 이를 통해 모듈의 함수나 변수를 사용할 수 있습니다.
4. 다양한 임포트 방법
모든 항목을 임포트
모듈의 모든 함수를 한꺼번에 임포트 할 수 있습니다. 하지만, 이는 권장되지 않습니다. 이유는 다른 모듈이나 전역 변수와 이름이 충돌할 가능성이 있기 때문입니다.
from math import * # math 모듈의 모든 항목 임포트
서브모듈 임포트
모듈이 여러 개의 하위 모듈로 구성된 경우, 서브모듈을 별도로 임포트 할 수 있습니다.
import os.path
커스텀 모듈 임포트
자신만의 모듈을 만들어서 임포트할 수도 있습니다. 같은 디렉터리에 있는 파일이 모듈로 사용될 수 있습니다. 예를 들어, my_module.py
라는 파일이 있는 경우:
import my_module
5. import
와 from
의 차이
import 모듈
: 모듈 전체를 가져옵니다. 모듈 내의 함수나 변수에 접근할 때는모듈명.함수
의 형식으로 사용해야 합니다.from 모듈 import 함수/변수
: 모듈의 특정 함수나 변수를 직접 임포트 합니다. 이 경우에는모듈명
을 생략하고 바로 함수/변수를 사용할 수 있습니다.
6. 서드파티 라이브러리 설치
파이썬 표준 라이브러리 외에도 서드파티 라이브러리를 설치하여 사용할 수 있습니다. 이때 pip
패키지 관리자를 사용합니다. 예를 들어, requests
라이브러리를 설치하려면:
pip install requests
설치 후에는 다음과 같이 임포트하여 사용할 수 있습니다.
import requests
response = requests.get('https://www.example.com')
print(response.status_code)
7. 최적의 임포트 방법
- 필요한 만큼만 임포트: 메모리 낭비를 줄이기 위해 필요한 모듈만 임포트 하세요.
- 명확한 네이밍:
import *
는 피하고, 가능한 명확하게 이름을 지정하여 충돌을 방지하세요. - 모듈 최적화: 자주 사용하는 모듈은 별칭을 사용하여 코드 가독성을 높일 수 있습니다.
마무리
파이썬에서 라이브러리를 임포트 하는 과정은 모듈을 재사용하고 프로그램의 기능을 확장하는 핵심 방법입니다. import
는 매우 강력한 도구이며, 이를 통해 코드의 중복을 줄이고 개발 속도를 높일 수 있습니다.
'실버를 위한 코딩 > 파이썬' 카테고리의 다른 글
[파이썬] 파이썬에서 자주 등장하는 용어, '주석'과 '연산자와 자료' (6) | 2024.09.09 |
---|---|
[파이썬] 자주 사용되는 용어들, '문장', '표현식', '키워드', '식별자' (4) | 2024.09.08 |
[파이썬]QGIS에서 파이썬 콘솔 사용하는 방법 (5) | 2024.09.06 |
다양한 기능을 갖춘 VSCode 에디터 (8) | 2024.09.04 |
[파이썬] VSCode 설치 과정에서 신뢰 옵션 선택 (10) | 2024.09.03 |