파이썬의 import
문은 다른 모듈이나 패키지의 기능을 현재 스크립트나 모듈에서 사용할 수 있게 해주는 기능입니다.import
문을 통해 표준 라이브러리나 외부 라이브러리, 사용자 정의 모듈 등을 불러올 수 있습니다.
파이썬의 import
문법과 그 사용법에 대해 자세히 설명하겠습니다.
1. 기본 import
문법
1. 모듈 전체를 가져오기
가장 기본적인 형태로 모듈 전체를 가져오는 방법입니다.
import math
print(math.sqrt(16)) # 4.0
2. 모듈에서 특정 객체만 가져오기
모듈 전체가 아닌 특정 함수, 클래스, 변수를 가져올 수 있습니다.
from math import sqrt
print(sqrt(16)) # 4.0
3. 별칭(alias) 사용하기
모듈이나 객체에 별칭을 붙여 간단하게 사용할 수 있습니다.
import numpy as np
array = np.array([1, 2, 3])
print(array) # [1 2 3]
4. 모듈의 모든 객체 가져오기
모듈 내의 모든 객체를 현재 네임스페이스로 가져올 수 있습니다. 하지만, 네임스페이스가 오염될 위험이 있으므로 일반적으로 권장되지 않습니다.
from math import *
print(sqrt(16)) # 4.0
print(pi) # 3.141592653589793
2. 패키지와 서브모듈 가져오기
파이썬 패키지는 여러 모듈을 포함하는 디렉토리입니다. 패키지 내의 서브모듈을 가져오는 방법도 있습니다.
1. 패키지 전체를 가져오기
import numpy
array = numpy.array([1, 2, 3])
print(array) # [1 2 3]
2. 패키지의 특정 서브모듈 가져오기
from numpy import random
print(random.rand(3)) # [0.12345 0.67890 0.12345] 예시 출력
3. 서브패키지 내의 서브모듈 가져오기
from matplotlib.pyplot import plot
plot([1, 2, 3], [4, 5, 6])
3. 상대 경로와 절대 경로
모듈을 가져올 때, 상대 경로와 절대 경로를 사용할 수 있습니다.
1. 절대 경로
프로젝트의 루트 디렉토리부터 시작하는 경로를 사용합니다.
# 프로젝트 구조
# my_project/
# ├── main.py
# └── my_package/
# ├── __init__.py
# └── my_module.py
# main.py에서
import my_package.my_module
2. 상대 경로
점(.
)을 사용하여 상대적인 위치를 나타냅니다. 상대 경로는 주로 패키지 내부에서 사용됩니다.
# my_package/__init__.py에서
from . import my_module
4. 자주 사용하는 import
패턴
1. 가독성을 위한 import 구분
표준 라이브러리, 서드 파티 라이브러리, 로컬 모듈 순으로 import를 구분합니다.
# 표준 라이브러리 import
import os
import sys
# 서드 파티 라이브러리 import
import numpy as np
import pandas as pd
# 로컬 모듈 import
import my_module
2. try
/except
로 import 예외 처리
특정 모듈이 존재하지 않을 경우에 대한 예외 처리를 할 수 있습니다.
try:
import numpy as np
except ImportError:
np = None
5. 모듈의 __name__
속성
모듈이 직접 실행되는지, 다른 모듈에 의해 import되는지 확인할 수 있습니다.
# my_module.py
def main():
print("This is my module")
if __name__ == "__main__":
main()
6. import 시 코드 실행
모듈을 import할 때 모듈 내의 모든 코드가 실행됩니다. 따라서, 모듈 내에서 실행되어야 하는 코드와 import 시 실행되어야 하는 코드를 구분하는 것이 중요합니다.
# my_module.py
print("This will be printed on import")
def my_function():
print("This is a function")
if __name__ == "__main__":
print("This will only be printed when running my_module.py directly")
7. init.py 파일
패키지 디렉토리에 __init__.py
파일을 포함하면 해당 디렉토리가 패키지로 인식됩니다. 이 파일은 비어 있어도 됩니다.
# my_package/__init__.py
from .my_module import my_function
# 이제 my_package를 import하면 my_function을 사용할 수 있습니다.
import my_package
my_package.my_function()
이와 같은 방법을 통해 파이썬에서 import
문을 사용하여 모듈과 패키지를 효과적으로 관리하고 사용할 수 있습니다.
'언어 > Python' 카테고리의 다른 글
[ Python ] 파이썬 기본 패키지를 알아보자. (0) | 2024.07.07 |
---|---|
[ Python ] 유명한 파이썬 패키지 알아보기 (0) | 2024.07.07 |
[ Python ] 패키지, 모듈, 객체의 관계에 대해서 알아보자. (0) | 2024.07.07 |
[ Python ] pip_search 설치하고 사용하기 (0) | 2024.07.06 |
[ Python ] 가상환경 만들어서 사용하기 (0) | 2024.07.06 |