본문 바로가기

Life Work

[파이썬] 상황에 따른 import 명령의 활용

1. 개요

파이썬 import 명령은 외부 모듈이나 패키지를 현재 스크립트로 불러오는데 사용된다

import 명령은 코딩 상황에 따라 여러 형식으로 활용된다.

여러 상황과 그에 맞는 형식을 아래와 같다

 

2. 기본 import

모듈 전체를 불러 온다

import math

print(math.sqrt(16))  # 4.0

 

3. 모듈에서 특정 함수나 클래스만 불러 오기 

from math import sqrt

print(sqrt(16))  # 4.0

 

4. 별칭 사용 

모듈이나 함수에 별칭을 부여 해 사용

import numpy as np # 모듈 불러 온 후 별칭 사용

array = np.array([1, 2, 3])
print(array)  # [1 2 3]
from pandas import DataFrame as DF # 클래스만 불러 온 후 별칭 사용

df = DF({'A': [1, 2, 3]})
print(df)

 

5. 여러 항목 불러오기

한 번에 여러 함수를 불러 오기

from math import sqrt, pi

print(sqrt(16))  # 4.0
print(pi)        # 3.141592653589793

 

6. 모든 항목 불러오기

모듈의 모든 항목을 불러오기 (권장되지 않음)

from math import *

print(sqrt(16))  # 4.0
print(pi)        # 3.141592653589793

 

7. 모듈 내 모듈 불러오기

패키지 내 특정 모듈을 불러 옴

from os import path

print(path.exists('somefile.txt'))

 

8. 상대 경로로 불러 오기

같은 패키지 내에서 상대 경로로 모듈을 불러 옴

# 패키지 구조:
# mypackage/
# ├── __init__.py
# ├── module1.py
# └── module2.py

# module1.py에서 module2.py를 불러오기
from . import module2

module2.some_function()

 

9. 조건부 import

특정 조건에 따라 모듈을 불러 옴

if some_condition:
    import module1
else:
    import module2

 

10. 동적 import

importlib를 사용하여 동적으로 모듈을 불러 옴

import importlib

module_name = 'math'
math_module = importlib.import_module(module_name)

print(math_module.sqrt(16))  # 4.0

 

11. 로컬 모듈 불러오기

같은 디렉토리에 있는 로컬 모듈 불러오기

# 같은 디렉토리에 있는 mymodule.py를 불러오기
import mymodule

mymodule.some_function()

 

12. 패키지 전체를 불러오기

패키지 전체를 불러오고 패키지 내 모듈을 사용할 때는 패키지 이름을 명시함

import mypackage

mypackage.module1.some_function()

 

13. __init__.py를 사용한 패키지 초기화

패키지의 __init__.py 파일을 사용하여 패키지 초기화 시 특정 모듈을 자동으로 불러 옴

# mypackage/__init__.py
from .module1 import some_function
from .module2 import another_function

# main.py
import mypackage

mypackage.some_function()
mypackage.another_function()