Python에서 여러 모듈 임포트하기
Python에서 여러 개의 모듈을 가져오는 가장 기본적인 방법은 import 문을 필요한 만큼 반복해서 사용하는 것입니다.
>>> import os
>>> import math
>>> import sys
하나의 import 문으로 여러 모듈 가져오기
경우에 따라서는 임포트 구문을 한 줄로 묶어 관리하는 것이 더 깔끔할 수 있습니다. 이때는 하나의 import 문 뒤에 모듈 이름을 쉼표(,)로 구분하여 나열하면 됩니다.
>>> import math, sys, os
이 방식은 코드를 간결하게 유지해 주지만, PEP 8 스타일 가이드에서는 일반적으로 한 줄에 하나의 모듈을 임포트하는 것을 권장한다는 점도 함께 알아두면 좋습니다.
별칭(as)을 사용하여 모듈 이름 바꾸기
모듈을 임포트할 때 원하는 이름으로 불러오고 싶다면, 각 모듈 이름 뒤에 as 키워드를 붙이고 별칭(alias)을 지정하면 됩니다. 별칭은 쉼표로 구분된 여러 모듈에 각각 적용할 수 있습니다.
>>> import math as Mathematics, sys as system
이렇게 하면 코드 내에서 해당 모듈을 지정한 별칭으로 참조할 수 있습니다. 예를 들어 Mathematics.sqrt(4)처럼 사용할 수 있습니다.
문자열 리스트로 동적으로 모듈 가져오기
임포트하고자 하는 모듈 이름이 문자열 형태의 리스트로 주어진 경우에는, 내장 함수인 __import__()를 활용하여 동적으로 모듈을 가져올 수 있습니다.
>>> modnames = ["os", "sys", "math"]
>>> for lib in modnames:
... globals()[lib] = __import__(lib)
위 예제에서는 모듈 이름 목록을 순회하면서 globals() 딕셔너리에 각 모듈을 등록합니다. 그 결과 마치 일반적인 import 문을 사용한 것처럼 해당 모듈들을 프로그램 전역에서 사용할 수 있게 됩니다.
단, __import__()는 저수준(low-level) 함수이므로 실제 프로덕션 코드에서는 importlib.import_module()을 사용하는 것이 더 안전하고 권장되는 방법입니다.