2011-07-04 119 views

回答

0

首先,這是一個Python問題,而不是Django,因爲模塊是一個Python概念。其次,在Python中沒有靜態加載的東西,因爲它本質上是一種動態語言。

因此,在Python中加載模塊始終是動態的。

你應該知道的唯一的事情是:

  • 一旦導入模塊,代碼被執行;
  • 如果您再次導入模塊,Python會從第一次加載中獲取引用,因此速度很快並且不會再次執行代碼;
  • 您可以在功能中使用import,但不推薦使用它,並且導入的模塊在功能範圍外不可用。

最後一個選項與「動態加載」最接近,因爲您可以選擇在運行時導入的內容。

0

由於python本質,所有代碼都是動態加載(==執行)的。

如果僅在運行時確定的模塊名稱,你可以使用__import__功能:

s = "simplemodule" if use_simple else "extendedmodule" 
mymodule = __import__(s) 
mymodule.myfunction() 

您還可以reload()以前加載的模塊(例如,如果你已經改變了它的源代碼)。