Python中import和from的一些事。。。

2021-08-17 05:54:12 字數 755 閱讀 4899

客戶端可以執行import或from語句。如果模組還沒有載入,這兩個語句會去搜尋、編譯以及執行模組檔案程式。主要差別在於,import會讀取整個模組,所以必須進行定義後才能讀取它的變數名;from將獲取(或者是複製)模組特定的變數名。

import使乙個變數名引用整個模組物件,因此必須通過模組名稱來得到該模組的屬性(例如,module1.printer)。而from會把變數名複製到另乙個作用域,所以它就可以直接在指令碼中使用複製後的變數名,而不用通過模組(例如,printer)。

from語句有破壞命名空間的潛質。如果使用from匯入變數,而那些變數碰巧和作用域中現有變數重名,變數就會被悄悄的覆蓋掉。使用import語句時就不存在這種問題,因為必須通過模組名才能獲取其內容。不過,使用from時,只要你了解並預料到可能發生這種事,在實際情況下這就不是乙個大問題了,尤其是當你明確列出匯入變數名時(例如,from module import x, y, z)。

另一方面,和reload呼叫同時使用時,from語句有比較嚴重的問題,因為匯入的變數名可能引用之前版本的物件。再者,from module import *形式的確可能破壞命名空間,讓變數名難以理解,尤其是在匯入乙個以上的檔案時。

比較務實的建議是:簡單的模組一般傾向於使用import,而不是from。多數的from語句是用於明確列舉想要的變數,而且限制在每個檔案中只用一次from *形式。這樣一來,任何無定義的變數名都可以認為是存在於from *所引用的模組內。當你必須使用兩個不同模組內定義的相同變數名變數時,才真的必須使用import,這種情況下不能使用from。

Python 中 import 和 from 用法

python 中的 import 和 from 用法 import 使乙個變數名引用整個模組物件,因此必須通過模組名稱來得到該模組的屬性 例如,module1.printer 而 from 會把變數名複製到另乙個作用域,所以它就可以直接在指令碼中使用複製後的變數名,而不用通過模組 例如,printe...

python中的import介紹

coding changes the world accumulating makes yourself 感覺乙個 模組就是乙個物件啊,這個物件單元是專門用來處理某些需求的,作為乙個單獨模組引入 import語句作用 import語句作用就是用來匯入模組的,它可以出現在程式中的任何位置。import...

Python中import的使用

python中的import語句是用來匯入模組的,在python模組庫中有著大量的模組可供使用,要想使用這些檔案需要用import語句把指定模組匯入到當前程式中。import語句的作用 import語句作用就是用來匯入模組的,它可以出現在程式中的任何位置。import語句語法 使用import語句匯...