簡(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)文章
jupyter 使用Pillow包顯示圖像時(shí)inline顯示方式
這篇文章主要介紹了jupyter 使用Pillow包顯示圖像時(shí)inline顯示方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2020-04-04
DjangoWeb使用Datatable進(jìn)行后端分頁(yè)的實(shí)現(xiàn)
這篇文章主要介紹了DjangoWeb使用Datatable進(jìn)行后端分頁(yè)的實(shí)現(xiàn),具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2020-05-05
Python word2vec訓(xùn)練詞向量實(shí)例分析講解
這篇文章主要介紹了Python word2vec訓(xùn)練詞向量實(shí)例分析,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)吧2022-12-12
python實(shí)現(xiàn)將內(nèi)容分行輸出
本文給大家分享的是使用python實(shí)現(xiàn)將一行里的內(nèi)容進(jìn)行分行輸出,一共給出了四種方法,小伙伴們可以參考下2015-11-11
從入門到精通:玩轉(zhuǎn)Python?Fire庫(kù)
想快速打造屬于你的Python?GUI應(yīng)用嗎?拋開復(fù)雜的代碼,用Python?Fire庫(kù)就能輕松實(shí)現(xiàn)!本指南將引領(lǐng)你從零起步,駕馭Python?Fire的強(qiáng)大功能,讓編程既簡(jiǎn)單又高效,準(zhǔn)備好了嗎?讓我們開始玩轉(zhuǎn)Python?Fire,開啟你的編程冒險(xiǎn)吧!2024-02-02

