PEP 8 말한다 :
- 가져 오기는 항상 파일의 맨 위에, 모듈 주석 및 독 스트링 바로 뒤, 모듈 전역 및 상수 앞에 놓입니다.
Occation에서 나는 PEP 8을 위반합니다. 때때로 함수 내부에서 물건을 가져옵니다. 일반적으로 단일 함수 내에서만 사용되는 가져 오기가있는 경우이 작업을 수행합니다.
의견이 있으십니까?
편집 (내가 함수에서 가져 오는 것이 좋은 생각이 될 수 있다고 생각하는 이유) :
주된 이유 : 코드를 더 명확하게 만들 수 있습니다.
- 함수 코드를 볼 때 "함수 / 클래스 xxx는 무엇입니까?"라고 자문 할 수 있습니다. (기능 내에서 사용되는 xxx). 모듈의 맨 위에 모든 가져 오기가있는 경우 거기에 가서 xxx가 무엇인지 확인해야합니다. 이것은 .NET을 사용할 때 더 많은 문제가됩니다
from m import xxx
.m.xxx
함수를 보면 더 많은 것을 알 수 있습니다. 무엇에 따라m
: 잘 알려진 최상위 모듈 / 패키지 (import m
)입니까? 아니면 하위 모듈 / 패키지 (from a.b.c import m
)입니까? - 어떤 경우에는 추가 정보 ( "xxx는 무엇입니까?")가 xxx가 사용되는 위치에 가까워지면 함수를 더 쉽게 이해할 수 있습니다.