類:型別,資料型別的簡稱;
物件:實體。型別所表現出的乙個例項。
物件具有封裝、繼承、多型三大特徵。
類:型別名稱 屬性 方法。
通過 class 關鍵字來自定義型別
通過 __init__() 函式,初始化類屬性資料。
建立物件:和執行函式一樣,通過類名建立;
使用物件屬性:物件的引用變數.屬性名稱;
使用物件方法:物件的引用變數.方法
建立物件的過程:
a) 建立物件 呼叫__new__()函式,申請記憶體位址,建立物件;
b) 給建立好的物件,初始化物件的資料,自動呼叫__init__() 函式,給物件的屬性賦值;
關於建立好的物件賦值給變數,變數的型別存放資料問題
a) 變數 = 類名稱() 建立物件,引用位址賦值給變數
b) 變數(記憶體位址) 堆記憶體中的物件
對物件的屬性限制:
1__slots___ = [ 「 」 ,「 」 , 「 」] #先宣告一些可能用到的屬性
屬性私有化
1class
person ( object ):23
def__init__
( self ):
45 self.name = 「old_wang」 #
普通屬性,表示公共屬性
67 self._weight = 「50kg」 #
約定,乙個下劃線開頭的,表示私有屬性89
#規則:兩個下劃線開頭的屬性,不能被外界直接訪問
10 self.__belief = 「你的劍就是我的劍」
提供 get / set 函式來間接訪問物件的私有屬性:
1#給私有屬性設定值的方法:23
defset_belief(self,believe):
45 self.__belief =believe67
#獲取私有屬性資料的方法:89
defget__belief ( self ):
1011
return self.__belief
建立乙個物件並訪問其屬性:
1 p =person()23(p.name)45
(p._weight)67
print(p.get_belief())
高階封裝——隱藏 get / set 方法:
使用@property 和 @setter 來將方法,擴充套件成屬性的使用方式
@property @method.setter:
將方法隱藏起來,提高**的安全性
@property #給獲取值的方法,新增@property
defbelief(self):
return self.__belief
@name.setter
defbelief(self,b):
self.
__belief =b
a =person()
a.belief = 「我的劍還是我的劍」
python 私有化屬性
python 沒有和其他程式語言一樣的定義共有屬性和私有屬性的關鍵字,實現屬性私有化和屬性保護,都是使用 格式進行的偽效果。私有化使用場景 保護屬性 比如銀行存款等,存款直接外放非常危險,就可以私有化,然後通過類提供的方法增加刪減鉛筆的金額,對存款進行保護。內部過濾 過濾一下不符合屬性的資料,資料不...
Python特性 屬性以及私有化
特性是物件內部的變數 物件的狀態由它的特性來描述,物件的方法可以改變它的特性 可以直接從物件外部訪問特性 定義 class person name yoda 類中特性 defget name self 通過訪問器方法訪問特性 return self.name defset name self,val...
Python中屬性的私有化
1.引入 在python物件導向程式設計過程中,修改類屬性都是直接通過類名修改的,如果有些重要的屬性不希望他人任意修改怎麼辦呢?這就要用到屬性私有化功能。2.概念 保護屬性安全,使其不能隨意修改,將屬性定義為私有屬性,新增乙個可呼叫的方法去使用。3.語法 兩個下劃線開頭,宣告該屬性為私有,不能在類的...