2020 2 9 Python學習計畫

2022-08-12 03:18:23 字數 1022 閱讀 6995

為了達到想要限制例項的屬性的目的,python允許在定義class的時候,定義乙個特殊的__slots__變數,來限制該class例項能新增的屬性。

使用__slots__要注意,__slots__定義的屬性僅對當前類例項起作用,對繼承的子類是不起作用的。

除非在子類中也定義__slots__,這樣,子類例項允許定義的屬性就是自身的__slots__加上父類的__slots__

在繫結屬性時,如果我們直接把屬性暴露出去,雖然寫起來很簡單,但是,沒辦法檢查引數。

有沒有既能檢查引數,又可以用類似屬性這樣簡單的方式來訪問類的變數呢?

還記得裝飾器(decorator)可以給函式動態加上功能嗎?對於類的方法,裝飾器一樣起作用。python內建的@property裝飾器就是負責把乙個方法變成屬性呼叫的。

@property的實現比較複雜,我們先考察如何使用。把乙個getter方法變成屬性,只需要加上@property就可以了,此時,@property本身又建立了另乙個裝飾器@score.setter,負責把乙個setter方法變成屬性賦值。

有了@property,我們在對例項屬性操作的時候,就知道該屬性很可能不是直接暴露的,而是通過getter和setter方法來實現的。

@property廣泛應用在類的定義中,可以讓呼叫者寫出簡短的**,同時保證對引數進行必要的檢查,這樣,程式執行時就減少了出錯的可能性。

繼承是物件導向程式設計的乙個重要的方式,因為通過繼承,子類就可以擴充套件父類的功能。

通過多重繼承,乙個子類就可以同時獲得多個父類的所有功能。

既可以用成員名稱引用列舉常量,又可以直接根據value的值獲得列舉常量。

動態語言和靜態語言最大的不同,就是函式和類的定義,不是編譯時定義的,而是執行時動態建立的。

視覺里程計學習

大四要做畢業設計了,因為保送去了外校,決定畢業 跟研究生導師做。研究生導師是做gps導航的,想發展視覺導航方向,就想讓我做視覺里程計,嘗試把視覺定位研究一下。基本沒有計算機視覺的基礎的我,就這樣子誤打誤撞進了計算機這個深坑。後來發現了清華博士高翔寫的閒半居士部落格,在這裡有了乙個簡單的入門。他這裡還...

djano cms學習筆計(一)

開放原始碼的內容管理系統,基於web框架django的。優勢如下 高度可擴充套件的外掛程式系統,可讓您自由地構建各種內容的 感謝可讀的 的頁面結構是完美的搜尋引擎優化 整合網上商店與 django的商店 乙個高度靈活和可擴充套件的電子商務解決方案。新增部落格引擎使用相同的內容外掛程式,您使用djan...

GameFramework框架學習教程計畫

首先,我介紹一下我對gameframework框架的認識程度。我是在2019年過完春節,二月初回到公司開始學習遊戲開發相關的內容,這個也是我第乙個接觸的框架。過去這一年的時間裡,我一直在用這個框架,也斷斷續續的在學習這個框架,但是總感覺學習不到乙個頭,感覺沒有真正掌握這個框架,所以準備在2020年伊...