如果我們要導入的模塊在不同的包中,該如何導入呢?
可以用 from 包名 import 模塊名 或者 from 包名.模塊名 import 模塊中的代碼(如變量、函數、方法等)
方式一:導入整個模塊,即 from 包名 import 模塊名
如下圖結構,有package01包(test.py在其中)和package02包(login.py在其中):
login.py模塊分別如下:
test.py模塊如下:
我們可以看到,from 包名 import 模塊名 的方式,可以導入包中的一個模塊,要調用該模塊中的代碼時,需要用該模塊
的模塊名稱來調用。
運行結果如下:我們可以看到,login.py中的代碼被正確調用了
問題:用模塊名來調用,是不是會顯得有些繁瑣?接着看第二種方式
方式二:導入模塊中的某些部分,可以用 from 包名.模塊名 import 變量或者函數或者類。
如下圖,可以直接調用導入的代碼部分:
tips:
1,若要導入一個模塊中的多個屬性,可以用英文逗號隔開即可
2,前面說過,導入模塊中的所有屬性,可以用通配符“ * ”,可以在使用該通配符時對導入屬性范圍
進行限定,只要在被導入的模塊中(.py文件中),對_ _all_ _屬性進行范圍賦值,如_ _all_ _=[a,func1, Login],那么用通配服“ * ”導入該
模塊中的所有代碼時,只會導入_ _all_ _ 屬性限定范圍內的