簡(jiǎn)單了解Python多態(tài)與屬性運(yùn)行原理
1.多態(tài)是指?jìng)魅氩煌膶?duì)象,產(chǎn)生不同的結(jié)果
多態(tài)指的是一類事物有多種形態(tài)(一個(gè)抽象類有多個(gè)子類,因而多態(tài)的概念依賴于繼承)
定義:多態(tài)是一種使用對(duì)象的方法,子類重寫父類方法,調(diào)用不同子類對(duì)象的父類方法,可以產(chǎn)生不同的執(zhí)行結(jié)果
好處:調(diào)用靈活,有了多態(tài),更容易編寫出通用的代碼。
代碼展示:
class Dog(object):
def work(self):
print('指哪打哪')
class ArmyDog(Dog):
def work(self):
print('追擊敵人')
class DrugDog(Dog):
def work(self):
print('追查毒品')
class Person(object):
def work_with_dog(self, dog):
dog.work()
ad = ArmyDog()
dd = DrugDog()
daqiu = Person()
daqiu.work_with_dog(ad)
daqiu.work_with_dog(dd)
2.類屬性就是類對(duì)象所擁有的屬性,它被該類的所有實(shí)例對(duì)象所共有
類屬性可以使用類對(duì)象或?qū)嵗龑?duì)象訪問。
例如:
class Dog(object): tooth = 10 wangcai = Dog() xiaohei = Dog() print(Dog.tooth) print(wangcai.tooth) print(xiaohei.tooth)
得出的結(jié)果都為:10
記錄的某項(xiàng)數(shù)據(jù)始終保持一致時(shí),定義類屬性
實(shí)例屬性要求每個(gè)對(duì)象為其單獨(dú)開辟一份內(nèi)存空間來記錄數(shù)據(jù),而類屬性為全類所共有,僅占用一份內(nèi)存,更加節(jié)省內(nèi)存空間。
3.修改類屬性
類屬性只能通過類對(duì)象修改,不能通過實(shí)例對(duì)象修改,如果通過實(shí)例對(duì)象修改類屬性,表示的是創(chuàng)建了一個(gè)實(shí)例屬性
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
Python之torch.no_grad()函數(shù)使用和示例
這篇文章主要介紹了Python之torch.no_grad()函數(shù)使用和示例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2024-03-03
Python基于stuck實(shí)現(xiàn)scoket文件傳輸
這篇文章主要介紹了Python基于stuck實(shí)現(xiàn)scoket文件傳輸,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-04-04
Django框架獲取form表單數(shù)據(jù)方式總結(jié)
這篇文章主要介紹了Django框架獲取form表單數(shù)據(jù)方式總結(jié),文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-04-04
Python實(shí)現(xiàn)自動(dòng)合并Word并添加分頁符
這篇文章主要為大家詳細(xì)介紹了如何基于Python實(shí)現(xiàn)對(duì)多個(gè)Word文檔加以自動(dòng)合并,并在每次合并時(shí)按要求增添一個(gè)分頁符的功能,感興趣的可以了解一下2023-02-02
使用fiddler抓包工具Python requests報(bào)錯(cuò):ValueError: check_h
這篇文章主要介紹了使用fiddler抓包工具Python requests報(bào)錯(cuò):ValueError: check_hostname requires server_hostname的解決,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-12-12

