Python包、模块、类以及遇到的问题
生活随笔
收集整理的這篇文章主要介紹了
Python包、模块、类以及遇到的问题
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
最近敲代碼的時候主要遇到兩大問題,第一個是構造自己包的時候找不到package。構造自己package談兩條經驗,有助于解決這個問題。
- 1 自己構造包的名稱盡量不要和Python自帶的包重名,起的名字個性化一點。要不然出的bug都不知道錯在哪
- 2 只要打算把這個文件夾當成一個包,就一定要在這個文件夾同一目錄下新建一個__init__.py文件(內容可以為空)
一般來說注意這兩點,構建包就不成問題。
在包的文件夾里面的.py文件稱之為模塊(文件名就是模塊名),當然包里也可能有子包,即使如此,每個包里.py文件也是模塊(除了帶雙下劃線的那種)
在模塊文件里,可以寫函數,屬性或者類。那么如何調用這些函數、屬性或者類呢?
調用函數十分簡單,策略就是import 模塊.函數或者 from 模塊 import 函數,如果想類實例化為對象,可以寫成
from 模塊 import 類 a = 類()但是一定要注意,不能把模塊實例化為對象,他不是類,否則會報錯’module’ object is not callable。一般來說,出這種錯,半天找不到原因,主要是代碼規范做的不夠好。把模塊名稱和類名稱寫的一樣了,以為import模塊就可以了,實際上并不是這樣。比如我想調用一個叫haha的類并實例化為對象,寫了一個haha.py文件,在里面定義haha類,那么實例化對象的時候應該這樣寫(假設包是MyCode):
from MyCode import haha a = haha.haha()或者寫成這樣
from MyCode.haha import haha a = haha()這樣寫都不是很好,總之,最好不要把模塊名稱和類名稱寫的一樣
總結
以上是生活随笔為你收集整理的Python包、模块、类以及遇到的问题的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: imutils用法总结
- 下一篇: 理解extract_patches_2d