python基础之Day23
1.封裝
什么是?
封:明確地把屬性隱藏起來 ,對外隱藏,對內開放
申請名稱空間,往里面裝入一系列名字 /屬性(類比 類 和對象 ? 只是裝的概念)
為什么要用?
__init__往對象里丟屬性
封裝數據屬性:
定義屬性的目的是給類的外部使用者用的
隱藏屬性目的是為了不讓用戶直接使用,如果想用的話,需要類內部開辟一個接口,實現間接訪問
精髓在于我們可以在接口上附加任意邏輯,從而嚴格控制使用者對屬性的操作
封裝函數屬性:
定義屬性的目的是給類的外部使用者用的
隱藏屬性目的是為了不讓用戶直接使用,如果想用的話,需要類內部開辟一個接口,實現間接訪問
精髓在于隔離復雜度
?
如何?
在要隱藏的屬性之前加__開頭
隱藏在類的內部是可見的,對外不對內
隱藏只是語法上的變形,只在類定義階段發生一次,類體內代碼只在定義階段發生一次
?
2.特性
3.綁定方法
綁定給誰,就應該由誰來調用,把誰當作第一個參數傳入
精髓在于自動傳值
綁定方法分類:1.綁定給對象 ?類內部定義的函數 沒有被任何裝飾器修飾的 默認綁定給對象
? ? ? ? ? ? ? ? ? ? ? ? ? 2.綁定給類 ? ?類內部定義的函數被@classmethod 裝飾 將類當作第一個參數傳入
綁定給類的對象也可以用,但自動傳入的仍是類
?
類綁定給對象:如果函數體代碼需要用到外部傳入的類,則應該將該函數定義成綁定給類的方法
4.非綁定方法
既不與類也不與對象綁定,無自動綁定的效果,就是普通的函數,類與對象都可以調用,但是無論誰調用都沒有自動傳值的效果
@staticmethod
?
轉載于:https://www.cnblogs.com/chicokiko/p/9238960.html
總結
以上是生活随笔為你收集整理的python基础之Day23的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: pixlabxi的指南
- 下一篇: Python简单遍历字典及删除元素的方法