0
每當我使用星號(from <anymodule> import *
)從另一個模塊導入時,我將被罰款「未使用的野生進口」-警告。看起來好像這不是進行導入的正確方法,但是如果我們不應該使用它,爲什麼會存在這種語法呢?「未使用的野生進口」:爲什麼?
每當我使用星號(from <anymodule> import *
)從另一個模塊導入時,我將被罰款「未使用的野生進口」-警告。看起來好像這不是進行導入的正確方法,但是如果我們不應該使用它,爲什麼會存在這種語法呢?「未使用的野生進口」:爲什麼?
該消息只是告訴你,你正在從一個你不需要的模塊導入功能,這意味着你應該只需要導入你所需要的功能。您只需使用from foobar import x, y
即可,其中x
和y
是您實際需要的元素。
語法from foobar import *
在命令行解釋程序中更有用,因爲當您不想考慮或輸入更多字符而獲益不大時。但是在一個真實的項目中,你不應該使用這種語法,因爲如果你使用它,它將不清楚你將要使用哪個模塊的特性。
我推薦你[另一個答案](http://stackoverflow.com/questions/3215516/how-do-i-suppress-unused-in-wild-import-warning-in-pydev)來獲得解決方案。錯誤應該出現,因爲您沒有使用您導入的結構:請嘗試調用由星號導入的一些名稱,並將其刪除。 – 2013-05-06 08:32:51
對於一些簡單的情況,存在語法。我會說,總是使用命名導入更好,因爲所有的原因,因爲通過一個狂野的導入,你可以折射到diffucult來調試錯誤。關於Python的書籍點亮了這個問題。 – crow16384 2013-05-06 08:37:12
對於涉及許多模塊的項目,使用常規導入或「從模塊導入功能」可能是一種很好的做法,因爲它將清楚(對於您和其他人)哪個模塊用於哪種功能。例如,考慮兩個(第三方)模塊包含具有相同名稱的函數的情況。 – 2013-05-06 08:37:43