面向?qū)ο蠛蚿ygame

一.類的繼承

python中類支持繼承,并且支持多繼承

1.什么是繼承

父類(超類):被繼承的類
子類:去繼承父類的類
繼承就是讓子類直接擁有父類的屬性和方法(注意:繼承后父類的東西不會(huì)減少)。
python中所有的類都是直接或者間接的繼承自object

2.怎么繼承

class 類名(父類):...
class 類名: == class 類名(object)

3.能繼承那些東西

對象屬性、對象方法、類的字段、類方法、靜態(tài)方法都可以繼承
注意:如果設(shè)置了init會(huì)約束當(dāng)前類的屬性,并且會(huì)導(dǎo)致當(dāng)前類的對象的dict屬相不存在;繼承后,slots的值不會(huì)約束到子類的對象屬性,但是會(huì)導(dǎo)致子類對象的dict只有在類中添加屬性

image.png

image.png

二.重寫

繼承后子類或擁有父類的屬性和方法,也可以添加屬于自己的屬性和方法

1.添加新的方法

直接在子類的方法,新的方法只能通過子類來使用

2.重寫

a.子類繼承父類的方法,在子類中重新實(shí)現(xiàn)這個(gè)方法的功能。---->完全重寫
b.在子類方法中通過supper().父類方法去保留父類對應(yīng)的方法的功能

3.類中的函數(shù)的調(diào)用過程

類.方法(),對象.方法()
先看當(dāng)前類是否有這個(gè)方法,如果有就直接調(diào)用當(dāng)前類中相應(yīng)的方法;如果沒有就去當(dāng)前父類中去看有沒有這方法
如果有就調(diào)用父類的這個(gè)方法;如果父類中也沒有這個(gè)方法,就去父類的父類中去找
依次類推直到找到為止,如果找到基類object,還沒有找到這個(gè)方法,程序才會(huì)異常


image.png

image.png

image.png

三.添加屬性

1.添加字段:

就直接在子類中聲明新的字段

2.添加對象屬性:

子類是通過集成父類的init方法類繼承的父類的對象屬性


image.png

image.png

image.png

image.png

image.png

四.運(yùn)算符的重載

運(yùn)算符重載:通過實(shí)現(xiàn)類響應(yīng)的魔法方法,來讓類的對象支持響應(yīng)的運(yùn)算符(+, -,>,<等)
值1 運(yùn)算符 值2 ----->值1.魔法方法(值2)
10 > 20 --->int類,實(shí)現(xiàn) > 對應(yīng)的魔法方法 gt

image.png

image.png

image.png

image.png

五.內(nèi)存管理機(jī)制

python中的內(nèi)存管理----->自動(dòng)管理---->垃圾回收機(jī)制
內(nèi)存結(jié)構(gòu)中分棧區(qū)間和堆區(qū)間,棧區(qū)間的內(nèi)存是系統(tǒng)自動(dòng)釋放,堆區(qū)間的內(nèi)存需要手動(dòng)開啟和釋放
但是目前絕大部分編程語言,都提供了一套屬于自己的關(guān)于堆中的內(nèi)存管理方案
---->python中垃圾回收機(jī)制是用來管理堆中的內(nèi)存的釋放
python中的數(shù)據(jù)都是存在堆中的,數(shù)據(jù)的地址都是在棧區(qū)間

1.內(nèi)存的開辟

python中將值賦給變量的是,會(huì)先在堆中開辟空間將數(shù)據(jù)存起來,然后再講數(shù)據(jù)對應(yīng)的地址返回給變量,存在棧中,但是如果是數(shù)字和字符串,會(huì)先在緩存中查看這個(gè)數(shù)據(jù)之前是否存在已經(jīng)創(chuàng)建過,如果沒有就去創(chuàng)建空間存數(shù)據(jù),然后將地址返回,如果之前已經(jīng)創(chuàng)建過就直接將之前的地址返回

2.內(nèi)存的釋放 ---->垃圾回收機(jī)制

系統(tǒng)每隔一定的時(shí)間就會(huì)去檢測當(dāng)前程序中所有的對象的引用計(jì)數(shù)值是否為0;
如果對象的引用計(jì)數(shù)是0對象對應(yīng)的內(nèi)存就會(huì)被銷毀,如果不是0 就不銷毀

3.引用計(jì)數(shù)

每一個(gè)對象都有引用計(jì)數(shù)屬性,用來存儲(chǔ)當(dāng)前對象被引用的次數(shù)。
可以用來通過sys模塊中的getrefcount去獲取一個(gè)對象的引用計(jì)數(shù)值


image.png

image.png

六.認(rèn)識pygame

pygame是一個(gè)用python寫2D游戲的第三方庫


image.png

image.png
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容