最近敲代碼的時(shí)候主要遇到兩大問(wèn)題,第一個(gè)是構(gòu)造自己包的時(shí)候找不到package。構(gòu)造自己package談兩條經(jīng)驗(yàn),有助于解決這個(gè)問(wèn)題。
- 1 自己構(gòu)造包的名稱(chēng)盡量不要和Python自帶的包重名,起的名字個(gè)性化一點(diǎn)。要不然出的bug都不知道錯(cuò)在哪
- 2 只要打算把這個(gè)文件夾當(dāng)成一個(gè)包,就一定要在這個(gè)文件夾同一目錄下新建一個(gè)__init__.py文件(內(nèi)容可以為空)
一般來(lái)說(shuō)注意這兩點(diǎn),構(gòu)建包就不成問(wèn)題。
在包的文件夾里面的.py文件稱(chēng)之為模塊(文件名就是模塊名),當(dāng)然包里也可能有子包,即使如此,每個(gè)包里.py文件也是模塊(除了帶雙下劃線的那種)
在模塊文件里,可以寫(xiě)函數(shù),屬性或者類(lèi)。那么如何調(diào)用這些函數(shù)、屬性或者類(lèi)呢?
調(diào)用函數(shù)十分簡(jiǎn)單,策略就是import 模塊.函數(shù)或者 from 模塊 import 函數(shù),如果想類(lèi)實(shí)例化為對(duì)象,可以寫(xiě)成
from
模塊
import
類(lèi)
a
=
類(lèi)
(
)
但是一定要注意,不能把模塊實(shí)例化為對(duì)象,他不是類(lèi),否則會(huì)報(bào)錯(cuò)’module’ object is not callable。一般來(lái)說(shuō),出這種錯(cuò),半天找不到原因,主要是代碼規(guī)范做的不夠好。把模塊名稱(chēng)和類(lèi)名稱(chēng)寫(xiě)的一樣了,以為import模塊就可以了,實(shí)際上并不是這樣。比如我想調(diào)用一個(gè)叫haha的類(lèi)并實(shí)例化為對(duì)象,寫(xiě)了一個(gè)haha.py文件,在里面定義haha類(lèi),那么實(shí)例化對(duì)象的時(shí)候應(yīng)該這樣寫(xiě)(假設(shè)包是MyCode):
from
MyCode
import
haha
a
=
haha
.
haha
(
)
或者寫(xiě)成這樣
from
MyCode
.
haha
import
haha
a
=
haha
(
)
這樣寫(xiě)都不是很好,總之,最好不要把模塊名稱(chēng)和類(lèi)名稱(chēng)寫(xiě)的一樣
更多文章、技術(shù)交流、商務(wù)合作、聯(lián)系博主
微信掃碼或搜索:z360901061

微信掃一掃加我為好友
QQ號(hào)聯(lián)系: 360901061
您的支持是博主寫(xiě)作最大的動(dòng)力,如果您喜歡我的文章,感覺(jué)我的文章對(duì)您有幫助,請(qǐng)用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點(diǎn)擊下面給點(diǎn)支持吧,站長(zhǎng)非常感激您!手機(jī)微信長(zhǎng)按不能支付解決辦法:請(qǐng)將微信支付二維碼保存到相冊(cè),切換到微信,然后點(diǎn)擊微信右上角掃一掃功能,選擇支付二維碼完成支付。
【本文對(duì)您有幫助就好】元
