본문 바로가기
실버를 위한 코딩/파이썬

[파이썬] 라이브러리 임포트 방법

by forSilver 2024. 9. 7.
반응형

라이브러리 임포트 방법

파이썬에서 라이브러리(모듈)를 임포트 하는 방법은 매우 중요합니다. 이것은 외부 코드나 기능을 프로그램에 가져와 재사용할 수 있도록 해주는 과정입니다. 파이썬의 기본 원리를 이해하고 나면, 효율적으로 라이브러리를 활용할 수 있습니다. 이제 그 과정과 원리에 대해 자세히 설명하겠습니다.

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 명령이 실행되면 다음 경로에서 모듈을 검색합니다:

  1. 현재 작업 디렉터리: 현재 파이썬 스크립트가 실행 중인 디렉터리에서 모듈을 찾습니다.
  2. PYTHONPATH 환경 변수: 운영체제에서 설정된 환경 변수 경로를 탐색합니다.
  3. 표준 라이브러리 디렉터리: 파이썬이 기본적으로 설치하는 표준 라이브러리 디렉터리.
  4. 서드파티 라이브러리: 패키지 관리 도구인 pip를 통해 설치한 외부 라이브러리들이 있는 디렉터리.

임포트 과정

  1. 모듈 파일 찾기: 파이썬은 위에 언급한 경로에서 모듈 파일을 찾습니다. .py, .pyc, 또는 디렉터리를 찾을 수 있습니다.
  2. 파일을 실행: 모듈 파일을 찾으면, 그 파일을 실행하여 모듈의 내용을 메모리에 적재합니다. 여기서 중요한 것은, 모듈은 한 번만 실행된다는 것입니다. 즉, 여러 번 임포트 하더라도 이미 로드된 모듈은 다시 실행되지 않습니다.
  3. 이름 공간(namespace)에 추가: 임포트한 모듈이나 함수는 현재의 이름 공간에 추가됩니다. 이를 통해 모듈의 함수나 변수를 사용할 수 있습니다.

4. 다양한 임포트 방법

모든 항목을 임포트

모듈의 모든 함수를 한꺼번에 임포트 할 수 있습니다. 하지만, 이는 권장되지 않습니다. 이유는 다른 모듈이나 전역 변수와 이름이 충돌할 가능성이 있기 때문입니다.

from math import *  # math 모듈의 모든 항목 임포트

서브모듈 임포트

모듈이 여러 개의 하위 모듈로 구성된 경우, 서브모듈을 별도로 임포트 할 수 있습니다.

import os.path

커스텀 모듈 임포트

자신만의 모듈을 만들어서 임포트할 수도 있습니다. 같은 디렉터리에 있는 파일이 모듈로 사용될 수 있습니다. 예를 들어, my_module.py라는 파일이 있는 경우:

import my_module

5. importfrom의 차이

  • 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는 매우 강력한 도구이며, 이를 통해 코드의 중복을 줄이고 개발 속도를 높일 수 있습니다.