Python으로 프로그래머스 문제를 풀다 보면, 모듈을 import 할 때 두 가지의 방법이 있는데 꼭 맨 윗줄에 써야 하는 건지 궁금했다.
# 함수 내 모듈 삽입
def solution(num):
from collections import deque
...
return answer
# 함수 밖 모듈 삽입
from collections imort deque
def solution(nums):
...
return answer
위의 두 방법 중 무엇이 옳고, 무엇이 빠를까..?
검색을 통해 찾아낸 결론은, 모듈은 함수를 여러번 실행해도 한 번만 import 되기 때문에
어디에 사용하든지 상관없다.
모듈 맨 위에서 import를 하게 되면 컴파일러가 LOAD_GLOBAL하는 반면 함수 안에서는 LOAD_FAST해서 함수 안에서 실행하는 것이 더 빠르지만, 파이썬 가이드에서 import위치를 맨 위에 사용하라고 권장하기 때문에 위에 사용하는 것이었다.....!
References
import는 꼭 코드 맨 윗줄에 써야 하나요?
보통 모듈을 import할 때는 소스코드1보다는 소스코드2같이 맨 윗줄에 넣는 것 같던데이 클래스안에서만 쓰이는 모듈이라면 굳이 맨 윗줄에 import해 줄 필요는 없을 것 같은데 다들 맨 윗줄에서 imp
hashcode.co.kr
반응형
'Algorithm > 정리' 카테고리의 다른 글
[Java] Stack 사용 (0) | 2023.01.08 |
---|---|
[Java] 형 변환 (0) | 2022.10.23 |
[Java] 문법, Method 정리 (0) | 2022.10.22 |
[Python] 정규 표현식 (0) | 2021.05.15 |
댓글