python是用来初始化_python的初始化运行了哪些?
下面的3個print一個是在模塊下面,一個是函數里面,一個是類名下面(不在方法里面)
1、 運行這段代碼可以發現第3行和11行可以打印出來。第7行沒有打印出來。所以可以放心,函數或者方法里面就算有錯誤,不調用它是不可能報錯的,這是運行報錯排查的基本常識,怎么也不要瞎找錯誤把拋錯怪罪到這一塊代碼里面去。
2、如果全局模塊下寫了太多東西,每次導入模塊都會運行模塊全局下的代碼,很浪費運行,而且全局下面寫太多東西容易出錯。尤其是作為被導入的基礎模塊,更不應該這么寫,一定要把模塊命名空間下沉到類,使用類。
3、有人說喜歡寫函數不喜歡寫類,寫類有很多self,看的頭暈。拿函數和類做比較,完全是牛頭不對馬嘴,基本概念很模糊。拿面向過程和面向對象編程比還是可以的,拿函數和類的比就是風馬牛不相及。
4、引用百度百科:類(Class)是面向對象程序設計(OOP,Object-Oriented Programming)實現信息封裝的基礎。類是一種用戶定義類型,也稱類類型。每個類包含數據說明和一組操作數據或傳遞消息的函數。類的實例稱為對象。
如果非要比,拿python模塊和類的對象比,那么還差不多,這兩者相同點非常多。(問豬和狗有什么區別這還差不多。豬和嘴巴這個屬性有什么區別,豬和吃東西這個動作有什么區別,那就是不成立的問題了)
5、寫在類名下面的東西,就算不調用類,也是會運行的,只有函數(模塊下面的)和方法(類下面的)里面的代碼才不會運行。
一些過時的東西,就算不再調用了,如果直接寫在類名下面,只要項目用了這個模塊,還是會報錯的。比如直接在類名下面寫下面這句
conn= pymysql.connect(host='127.0.0.1', port=3306, user='root', passwd='', db='tkq1', charset='utf8')
如果有一天,你修改了數據庫的密碼,沒修改這里,即使你從此再也不使用這個類了,運行項目仍然會報錯。抑制這個報錯,就算非要把connect這個屬性作為類屬性,可以使用享元模式或者單例模式,在方法中進行數據庫連接,這樣就不會造成沒調用這個類,沒用到數據庫,項目還報這里錯誤;而且這段連接數據庫的代碼直接寫在類名下還會造成浪費連接時間,導致程序啟動慢(java里面的單例模式 餓漢和飽漢的影響這著差不多)。
總結
以上是生活随笔為你收集整理的python是用来初始化_python的初始化运行了哪些?的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Inventor教程之圆角与倒角电脑如何
- 下一篇: 电脑的CPU在发烧电脑CPU发热