[英]python modules appearing out of no where
今天有一件奇怪的事發生在我身上。當我進入dir(django)
o / pi得到的時候,我試圖在www.shell.appspot.com上獲得一些appengine和Django。
['VERSION', '__builtins__', '__doc__', '__file__', '__name__', '__path__', 'conf', 'core', 'template', 'utils']
但我還是試過
from django import forms
而且令我驚訝的是,雖然dir()
的o / p沒有恍惚狀態。出於好奇,我再次進入dir(django)
並且o / pi得到了
['VERSION', '__builtins__', '__doc__', '__file__', '__name__', '__path__', 'conf', 'core', 'forms', 'oldforms', 'template', 'utils']
請注意這里的表格元素。任何人都可以向我解釋這些表格的來源嗎?
from package import module
的語句加載(如果以前沒有加載過) package/module.py
(首先加載package/__init__.py
如果之前沒有加載它)並添加'module'
作為條目包(以及當前范圍中的變量)。 因此dir(package)
將在導入后顯示'module'
條目,但不會在之前顯示。
一個包可以包含無限數量的模塊和子包(遞歸),因此加載包中的所有內容(只是為了填寫它的dir
! - )直到特定的模塊和子包被專門導入 - 所以,加載后者是“及時”,當他們第一次進口時(只有那時它們出現在paren包的dir
)。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.