定義:在類中将方法和屬性隐藏起來
1、格式
__名字,在名字前加雙下劃線
2、私有化對象
對象屬性
靜态屬性
普通方法
3、作用
1)在類的外面不能直接調用類的方法和屬性
2)類的屬性值不能随意更改
3)子類不能通過繼承擷取父類的私有化屬性和方法
4、實質
在代碼層次做了變形,在類的外部仍可通過 對象名或類命_類命__名字,來調用,不推薦使
1、property是内置裝飾函數,隻在面向對象中使用
2、作用
方法屬性,給方法加上裝飾器,可以在類的外部直接調用方法名而不是調用方法名()
動詞:方法,名詞:屬性
3、修改
屬性私有化,在類的外部不改變該屬性的調用方法
3、删除
不常用
4、總結
1)property是内置裝飾器
2)查
私有化屬性,可以通過定義同名方法和property裝飾器,而不改變在類外部的調用方法
3)改
查實作後,才能實作删
通過同方法.setter裝飾器,裝飾同名方法來修改私有化屬性,而不改變在類外部的修改方法
4)删
類方法
作用:把一個對象方法,變成類方法,調用該方法可以直接通過類,而不需要對象
格式:有一個預設參數,cls
什麼時候用到:一個方法與私有化靜态屬性産生聯系
靜态方法
1)作用
在完全面向對象的程式中,若果一個函數,即和對象沒有關系,也和類沒有關系,那麼就可以用staticmethod裝飾該函數,作為類的靜态方法
2)細節
靜态方法在類的内部,在靜态方法中可以直接調用類,在類的外部可以通過類名調用靜态方法
類方法和靜态方法小結
1、都通過類名調用
2、類方法有一個預設參數,靜态方法沒有
3、類方法:和靜态屬性有關,通過類直接調用方法,不需要通過對象
4、靜态方法:和類及對象沒有關系,但又是必要的方法,python可以不用(面向對象和面向函數),完全面向對象必須用