在導入代碼的各種方式中,與其他方法相比,有哪些方法可以使用?這在短期 鏈接http://effbot.org/zone/import-confusion.htm指出Python(和Django)最佳導入實踐
from foo.bar import MyClass
不導入正常情況下,或者除非你知道自己在做什麼MyClass的首選方式。 (更確切地說,一個更好的辦法想:
import foo.bar as foobaralias
,然後在代碼中,訪問MyClass的使用
foobaralias.MyClass
)
總之,似乎上述引用鏈接說這是通常更好地導入從模塊,而不是隻是部分模塊的一切。
但是,我鏈接的那篇文章真的很老。
我也聽說,至少在Django項目的上下文中,反而只導入要使用的類,而不是整個模塊更好。據說這種形式有助於避免循環導入錯誤,或者至少使django導入系統更脆弱。有人指出,Django自己的代碼似乎更喜歡「從x導入y」到「導入x」。
假設我正在處理的項目沒有使用__init__.py
的任何特殊功能...(我們的所有__init__.py
文件都是空的),我應該使用哪種導入方法,爲什麼?
因此,test.py中的所有內容都已運行。對此的特定異常可能在您導入實現模型(表示數據庫表)的類的Django中。在這種情況下,最好說「從django.contrib.auth導入用戶」。但正如我所說,這是一個特定於特定環境的慣例。 – 2009-11-10 03:13:05
從myapp導入utils怎麼樣; utils.frobnicate()'? – Joschua 2010-09-16 09:59:14
Joschua:這很好,因爲任何人都可以看到'frobnicate'從哪裏進口。 – 2010-09-16 17:23:23