PEP 8 強制將導入語句放置在檔案的開頭,這引發了一個問題:僅在需要時才導入模組更有效。
考慮以下程式碼:
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()
雖然模組導入速度很快,但它不是瞬時的。因此:
如果考慮效能,請優先考慮檔案開頭的導入語句以提高效率。僅當分析顯示效能提升時才考慮函數內的延遲導入。
儘管延遲導入通常效率較低,但也有有效的場景:
總之,將導入放在模組的頂部以提高效率,除非延遲加載有令人信服的原因,例如可選庫或不活動的插件。
以上是Python 中的頂層導入和惰性導入:哪個更有效率?的詳細內容。更多資訊請關注PHP中文網其他相關文章!