隨著不斷給類(lèi)添加功能,文件可能變得很長(zhǎng),即便妥善地使用了繼承亦是如此,為遵循Python的總體理念,應(yīng)讓文件盡可能簡(jiǎn)潔。為在這方面提供幫助,Python允許將類(lèi)存儲(chǔ)在模塊中,然后在主程序中導(dǎo)入所需的模塊。
1.導(dǎo)入單個(gè)類(lèi)
新建一個(gè)Animal類(lèi)的模塊,其中只包含Animal類(lèi),編寫(xiě)程序如下所示:
在主程序main中調(diào)用Animal類(lèi),編寫(xiě)程序如下所示:
from animal import Animal這條語(yǔ)句,讓Python把a(bǔ)nimal模塊的Animal類(lèi)導(dǎo)入到主程序中。
2.在一個(gè)模塊中編寫(xiě)多個(gè)類(lèi)
我們把Cat類(lèi)也編寫(xiě)在Animal類(lèi)中。
3.從一個(gè)模塊中導(dǎo)入多個(gè)類(lèi)
在主程序main中使用Cat類(lèi),編寫(xiě)程序如下所示:
4.導(dǎo)入整個(gè)模塊
我們可以導(dǎo)入整個(gè)模塊,再使用句點(diǎn)表示法訪問(wèn)需要的類(lèi)。這種導(dǎo)入方法很簡(jiǎn)單,代碼也易于閱讀。由于創(chuàng)建類(lèi)實(shí)例的代碼都包含模塊名,因此不會(huì)與當(dāng)前文件使用的任何名稱(chēng)發(fā)生沖突。編寫(xiě)程序如下所示:
我們發(fā)現(xiàn)和原先的輸出結(jié)果一致。
5.導(dǎo)入模塊中所有類(lèi)
要導(dǎo)入模塊中的所有類(lèi),其語(yǔ)法格式:
from 模塊名 import *
不推薦使用這種導(dǎo)入方式,因?yàn)檫@種導(dǎo)入方式?jīng)]有明確地指出使用了模塊中的哪些類(lèi),所以容易引發(fā)名稱(chēng)方面的問(wèn)題
需要從一個(gè)模塊中導(dǎo)入很多類(lèi)時(shí),最好導(dǎo)入整個(gè)模塊,并使用模塊名.類(lèi)名的語(yǔ)法來(lái)訪問(wèn)類(lèi)。這樣做,雖然文件開(kāi)頭并沒(méi)有列出用到的所有類(lèi),但是我們清楚地知道在程序的哪些地方使用了導(dǎo)入的模塊。避免了導(dǎo)入模塊中的每個(gè)類(lèi)可能引發(fā)的名稱(chēng)沖突。