在我們的開發過程中,有些屬性或方法是不能夠進行公開的,但是我們後續的過程中又會再次用到,因此我們可以用到python中的私有許可權 ?
私有許可權:
為了讓某些屬性在外部不能進行呼叫時,我們可以採用私有屬性,只能在類的內部進行呼叫,而外部不能
私有屬性就是物件不希望公開的 屬性
私有方法就是物件不希望公開的 方法
格式:
一般我們都在方法或屬性之前新增"__"來實現私有
私有屬性和私有方法只能在類的內部使用
而當我們需要呼叫這個屬性時,我們可以在類的內部宣告乙個公開的方法呼叫私有的屬性,在我們呼叫這個公開的方法時,相當於間接的呼叫了這個私有的屬性! ✌
作用:
可以避免父類與子類定義的物件之間發生命名空間衝突和暴露物件的內部實現,以及防止被例項物件直接訪問得到,從而增強**的健壯性
案例:
class
people
(object):
# 建立乙個類
def__init__
(self, name)
:# 定義乙個名字屬性
self.__name = name # 新增下劃線將name屬性私有
defspeak
(self)
:# 定義方法if2
<=
len(name)
<=5:
# 判斷輸入的名字長度是否在2~5個字元之間
print
("我叫%s"
% self.__name)
else
:print
("輸入的名稱不符合格式!"
)name =
input
("請輸入你的名字:"
)zs = people(name)
# print(zs.name) # 如果在這裡沒有經過speak方法的話我們是無法檢視物件的name屬性的
zs.speak(
)# 呼叫speak方法
公有許可權,私有許可權,保護許可權
許可權其實就是對類成員的可訪問性。1.公有成員 類可以訪問,類物件可以訪問,通過公有繼承的派生類可以訪問,通過私有繼承的派生類可以訪問,通過保護繼承的派生類可以訪問,通過公有繼承的派生類的物件可以訪問,通過私有繼承的派生類的物件不可以訪問,通過保護繼承的派生類的物件不可以訪問。2.私有成員 類可以訪...
公有許可權,私有許可權,保護許可權
許可權其實就是對類成員的可訪問性。1.公有成員 類可以訪問,類物件可以訪問,通過公有繼承的派生類可以訪問,通過私有繼承的派生類可以訪問,通過保護繼承的派生類可以訪問,通過公有繼承的派生類的物件可以訪問,通過私有繼承的派生類的物件不可以訪問,通過保護繼承的派生類的物件不可以訪問。2.私有成員 類可以訪...
python中的私有屬性
我們先來看前置雙下劃線 以前置雙下劃線定義的屬性和方法,例項物件和子類無法呼叫和訪問。首先看看例項物件對於私有方法的訪問許可權 class grandfather def init self self.name grandpa self.age 80 私有屬性 self.money 1000 私有方...