플그래밍/파이써언

파이썬 모듈 임포트하기 (import)

훗티v 2024. 12. 1. 05:37

Python에서 모듈 임포트하기 (import)

Python의 강력한 기능 중 하나는 바로 모듈(Module)을 활용할 수 있다는 점입니다. 모듈은 미리 작성된 코드의 집합으로, 이를 재사용하여 더 효율적으로 코드를 작성할 수 있습니다. 이번 포스팅에서는 Python 모듈을 임포트(import)하는 방법과 활용 사례를 알아보겠습니다.



1. 모듈(Module)이란?

모듈은 Python 파일로, 함수, 클래스, 변수 등의 코드가 정의되어 있습니다. 다른 Python 파일에서 모듈을 불러와 해당 기능을 사용할 수 있습니다.

# 예: math 모듈
import math
print(math.sqrt(16))  # 결과: 4.0
        

출력 결과: 4.0



2. 모듈 임포트 기본 사용법

2.1. 전체 모듈 임포트

모듈 전체를 임포트하여 사용합니다. 모듈 이름과 함께 함수나 변수를 호출해야 합니다.

import math
print(math.pi)  # 결과: 3.141592653589793
        

출력 결과: 3.141592653589793

2.2. 모듈 내 특정 함수나 변수만 임포트

모듈에서 필요한 부분만 선택적으로 임포트합니다.

from math import sqrt, pi
print(sqrt(25))  # 결과: 5.0
print(pi)        # 결과: 3.141592653589793
        

출력 결과:

5.0
3.141592653589793
        

2.3. 별칭(Alias)을 사용한 임포트

모듈 이름이 길거나 간결하게 표현하고 싶을 때 별칭을 사용할 수 있습니다.

import numpy as np
array = np.array([1, 2, 3])
print(array)  # 결과: [1 2 3]
        

출력 결과: [1 2 3]



3. 사용자 정의 모듈

사용자가 직접 모듈을 만들어 임포트할 수도 있습니다. 같은 디렉토리에 Python 파일을 생성하여 사용합니다.

# custom_module.py
def greet(name):
    return f"Hello, {name}!"

# main.py
from custom_module import greet
print(greet("Alice"))  # 결과: Hello, Alice!
        

출력 결과: Hello, Alice!



4. 외부 라이브러리 임포트

외부 라이브러리를 설치하고 사용하는 방법입니다. 외부 라이브러리는 pip 명령어로 설치할 수 있습니다.

# 예: requests 라이브러리
# pip install requests
import requests
response = requests.get("https://api.github.com")
print(response.status_code)  # 결과: 200
        

출력 결과: 200



5. 임포트의 다양한 옵션

5.1. 와일드카드 임포트

모듈의 모든 내용을 가져오지만, 권장되지 않는 방법입니다.

from math import *
print(sin(0))  # 결과: 0.0
        

출력 결과: 0.0

5.2. 상대 경로 임포트

같은 패키지 내의 다른 모듈을 임포트할 때 사용합니다.

# utils/helper.py
def add(a, b):
    return a + b

# main.py
from utils.helper import add
print(add(3, 5))  # 결과: 8
        

출력 결과: 8



6. 주의할 점

  • 모듈 이름 충돌: 같은 이름의 모듈이 여러 개 있다면 의도치 않은 결과를 초래할 수 있습니다.
  • 와일드카드 사용 지양: 코드를 읽기 어렵게 만들고, 이름 충돌 가능성을 높입니다.
  • 외부 라이브러리 관리: 프로젝트 별로 가상 환경을 사용하는 것이 좋습니다.


7. 마무리

Python 모듈은 코드를 재사용하고, 복잡한 작업을 간단히 해결할 수 있는 강력한 도구입니다. 표준 라이브러리뿐 아니라 커스텀 모듈과 외부 라이브러리를 잘 활용하면 개발 생산성을 크게 높일 수 있습니다.

728x90