티스토리 뷰

카테고리 없음

Lazy-Loading 방법

패스트코드블로그 2020. 11. 5. 10:59

원본: snarky.ca/lazy-importing-in-python-3-7/

 

새로운 방법 Python 3.7에서 모듈에는 이제 _getattr_()가 정의되어 있어

모듈의 속성으로 사용할 수 없을 때 모듈을 가져오는 기능을 쓸 수 있다.

이것은 부하를 줄이고, Lazy-Loading 으로 만든다.

 

따라서 ModuleNotFoundError가 제기될 것인지 여부를 매우 늦게 알아내는 단점이 있다.

그러나 이는 명시적이면서도 여전히 전세계적으로 정의되어 있기 때문에 제어하기가 더 쉽다.

코드 자체는 사실 그렇게 복잡하지 않다.

 

이 기능을 사용하려면 다음 작업을 수행하십시오.

이를 설계할 때 가장 까다로운 부분은 이름 충돌을 피하기 위해 ...의 구문을 ...의 구문으로 시뮬레이션하는 방법이었다. 나는 결국 당신이 글로벌 수입을 했더라면 당신이 썼을 수입 명세서와 거의 비슷한 문자열을 받아들이게 되었다. 나는 그것을 맵핑을 하는 세 번째 논쟁으로 나눌 수 있었지만, 나는 그것이 불필요하다고 생각했고 나는 더 통일된 API를 선호했다. 어쨌든 파이썬 코드 20줄만 가지고 이런 걸 할 수 있고 완전 해킹이 아니라는 느낌이 들 때 항상 기쁘다.

댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2025/01   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
글 보관함