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

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