開始時使用默認 設置的交互式Python解釋器,是有隱式地導入/裝入 解釋任何模塊,但沒有明確運行
import <modulename>
?是否有隱式導入/加載的模塊?我認爲像
sys
或builtins
模塊會是這樣,但是當我 鍵入他們的模塊名稱,>>> sys Traceback (most recent call last): File "<stdin>", line 1, in <module> NameError: name 'sys' is not defined >>> builtins Traceback (most recent call last): File "<stdin>", line 1, in <module> NameError: name 'builtins' is not defined
因此,它是正確的,在默認情況下,沒有模塊輸入/隱式加載?
當執行一個Python腳本,是否有任何模塊隱含 進口/裝入腳本,而不顯式指定的腳本
import <modulename>
?
謝謝。
可以存在,但**不在全局名稱空間**中。試試'python -v'。再次,這些模塊是導入的,當您實際編寫「import」時不需要「重新加載」,但它們不會位於全局名稱空間中。 –
參見'globals()'你會發現'__builtins__'和'__loader__' [''](https://docs.python.org/3/library/importlib.html# importlib.machinery.BuiltinImporter)。兩者都默認加載。 –
@ChihebNexus謝謝。在python3中,如果模塊'builtins'默認是隱式加載的,爲什麼不能使用'builtins'這個名字(見我的文章中的輸出)? – Tim