1.搜索路徑
import導入模塊時,如果報importError:No module named XXX
說明解釋器在搜索路徑中沒有找到對應(yīng)模塊。
sys.path可以查看搜索路徑,而sys.path返回的是個列表,要想添加搜索路徑,可以使用sys.path.append("D:\\")
sys.modules可以查看當前導入了哪些模塊,模塊來自哪里,返回的是字典
2.名稱空間和變量作用域
三個名稱空間:local,global,build-ins
變量先在local找,找不到到global中找,再找不到就去build-ins中找
3.導入模塊
import module1
import module2
也可以寫成import module1,module2
導入順序最好是:標準庫>第三方庫>自定義庫
from module import name1,name2從指定模塊中導入模塊的屬性
多行導入,加\:
from Tkinter import Tk, Frame, Button, Entry, Canvas, \
Text, LEFT, DISABLED, NORMAL, RIDGE, END
擴展import(as):
import module ad m
from module import as m1
4.導入到當前名稱空間
模塊module有變量var,使用from module import var,然后直接通過var訪問變量本身。
盡量少用from module import *,因為很可能會覆蓋現(xiàn)有的名字
5.目錄結(jié)構(gòu)
Phone/
? ? ? ? ? ? ?__init__.py
? ? ? ? ? ? ?common_util.py
? ? ? ? ? ? ?Mobile/
? ? ? ? ? ? ? ? ? ? ? __init__.py
? ? ? ? ? ? ? ? ? ? ? ?Analog.py
第一種:
from Phone import Mobile
Mobile.Analog.dial("555-1212")
第二種:
from Phone.Mobile import Analog
Analog.dial('555-1212')
第三種:
from Phone.Mobile.Analog import dial
dial('555-1212')
6.阻止屬性導入
如果不希望通過from module import *的方式導入屬性,在屬性前加_