當(dāng)前位置:
首頁(yè) >
Python知识点笔记-面向对象进阶篇
發(fā)布時(shí)間:2025/4/16
23
豆豆
生活随笔
收集整理的這篇文章主要介紹了
Python知识点笔记-面向对象进阶篇
小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
python知識(shí)點(diǎn)范圍:magic method魔術(shù)方法
- magic method魔術(shù)方法是前后有兩個(gè)下劃線的屬性;
- 創(chuàng)建對(duì)象的方法def __new__(cls ),重寫的話可能需要一個(gè)星號(hào)和兩個(gè)星號(hào)的參數(shù);
- 銷毀對(duì)象用__del__(),由python回收機(jī)制調(diào)用;
- 對(duì)象之所以可以比較是因?yàn)橛羞\(yùn)算符魔術(shù)方法屬性,只要能比較的都有的;
- 比較運(yùn)算符__cmp__(self, other)【eq, lt, gt】
- 數(shù)字運(yùn)算符__add__(self, other)【sub, mul, div】
- 邏輯運(yùn)算符__or__(self, other)【and】
- python運(yùn)行首先要經(jīng)過ebal這個(gè)函數(shù),它只能識(shí)別機(jī)器字符串,用__repr__這個(gè)魔術(shù)方法來轉(zhuǎn)化;
- __str__, __unicode__方法也是返回字符串的,str是直接打印對(duì)象時(shí)調(diào)用的;
- __dir__可以控制調(diào)用dir()時(shí)要返回的內(nèi)容;
- 大部分的內(nèi)建方法都是有對(duì)應(yīng)魔術(shù)方法的,我們自己可以多多總結(jié);
- __setattr__每次設(shè)置時(shí)都會(huì)調(diào)用;
- __getattr__, getattribute__查詢魔術(shù)方法,每次沒訪問到和訪問時(shí)會(huì)調(diào)用;
- 設(shè)置和查詢魔術(shù)方法要防止無限遞歸,容易出錯(cuò);
- 遞歸1萬次會(huì)報(bào)錯(cuò);
- python本身沒有訪問控制,加了雙下劃線實(shí)際只是改了名字,我們?nèi)匀豢梢栽L問到;
- __delattr__刪除時(shí)會(huì)訪問到;
- python2里什么都不繼承算是老式類,缺少一些功能;
總結(jié)
以上是生活随笔為你收集整理的Python知识点笔记-面向对象进阶篇的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Python 知识点笔记:走进面向对象
- 下一篇: Python 库兼容性问题-fromst