>백엔드 개발 >파이썬 튜토리얼 >Python의 상위 가져오기 또는 지연 가져오기: 어느 것이 더 효율적인가요?

Python의 상위 가져오기 또는 지연 가져오기: 어느 것이 더 효율적인가요?

Barbara Streisand
Barbara Streisand원래의
2024-12-02 21:14:14434검색

Top or Lazy Imports in Python: Which Is More Efficient?

상위 또는 모듈 내 Import 문: 효율성 문제

PEP 8에서는 import 문을 파일 시작 부분에 배치하도록 요구하여 필요할 때만 모듈을 가져오는 것이 더 효과적입니다.

성능 비교

다음 코드를 고려하세요.

class SomeClass(object):

    def not_often_called(self):
        from datetime import datetime
        self.datetime = datetime.now()

대:

from datetime import datetime

class SomeClass(object):

    def not_often_called(self):
        self.datetime = datetime.now()

모듈 가져오기는 빠르지만 즉각적이지는 않습니다. 따라서:

  • 상단의 Import 문: 소소한 비용은 한 번만 발생합니다.
  • Lazy imports: 시간이 더 오래 걸립니다.

효율성 고려 사항

성능이 중요한 경우 효율성을 위해 파일 시작 부분에 import 문을 우선적으로 적용하세요. 프로파일링을 통해 성능 향상이 나타나는 경우 함수 내에서 지연 가져오기만 고려하십시오.

지연 가져오기의 정당한 이유

지연 가져오기가 일반적으로 비효율적이지만 다음과 같은 유효한 시나리오가 있습니다.

  • 선택적 라이브러리: 항상 라이브러리 가져오기를 피하는 것은 아닙니다. 사용할 수 있습니다.
  • __init__.py 플러그인: 사용하지 않을 수 있는 플러그인 가져오기를 방지합니다.

요약하자면, 효율성을 위해 모듈 상단에 가져오기를 배치하세요. 선택적 라이브러리나 비활성 플러그인 등 지연 로딩이 발생하는 강력한 이유가 있습니다.

위 내용은 Python의 상위 가져오기 또는 지연 가져오기: 어느 것이 더 효율적인가요?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.