更新時間:2020-09-03 來源:黑馬程序員 瀏覽量:
Python類的屬性一般分為私有屬性和公有屬性,如C++、C#、Java等面向?qū)ο蟮恼Z言都有定義私有屬性的關(guān)鍵字。而Python中沒有這類關(guān)鍵字,默認情況下所有的屬性都是“公有的”,這樣對類中屬性的訪問將沒有任何限制,并且都會被子類繼承,也能從子類中進行訪問。這肯定不是我們想要的。Python使用約定屬性名稱來達到這樣數(shù)據(jù)封裝的目的。如果屬性的名字以兩個下劃線開始,就表示為私有屬性;反之,沒有使用雙下劃線開始的表示公有屬性。類的方法也同樣使用這樣的約定。
在實際開發(fā)中,對象的某些屬性或方法可能只希望在對象的內(nèi)部被使用,而不希望在外部被訪問到。
私有屬性就是對象不希望公開的屬性;
私有方法就是對象不希望公開的方法。
class Women:
def __init__(self, name):
self.name = name
# 不要問女生的年齡
self.__age = 18
def __secret(self):
print("我的年齡是 %d" % self.__age)
xiaofang = Women("小芳")
# 私有屬性,外部不能直接訪問
# print(xiaofang.__age)
# 私有方法,外部不能直接調(diào)用
# xiaofang.__secret()在定義屬性或方法時,在屬性名或者方法名前增加兩個下劃線,定義的就是私有屬性或方法。
提示:在日常開發(fā)中,不要使用這種方式,訪問對象的私有屬性或私有方法。
Python中并沒有真正意義的私有
·在給屬性、方法命名時,實際是對名稱做了一些特殊處理,使得外界無法訪問到
·處理方式:在名稱前面加上 _類名 => _類名__名稱
# 私有屬性,外部不能直接訪問到 print(xiaofang._Women__age) # 私有方法,外部不能直接調(diào)用 xiaofang._Women__secret()
Python模塊的分類和模塊導(dǎo)入方式
Python視頻:Django入門視頻
python中的for循環(huán)詳細介紹
python while循環(huán)語句的用法
以下是黑馬程序員近期推出的Python興趣課程,3天入門Python,體驗Python的魅力!
0基礎(chǔ)Python3天入門課程
·了解Python主流就業(yè)方向,把握最新熱點技術(shù)
·掌握Python的基礎(chǔ)語法及API調(diào)用
·能夠使用Python對數(shù)據(jù)獲取、使用和展示
·打造自己的數(shù)據(jù)分析項目并自動生成工作報告
1024首播|39歲程序員逆襲記:不被年齡定義,AI浪潮里再迎春天
2025-10-241024程序員節(jié)丨10年同行,致敬用代碼改變世界的你
2025-10-24【AI設(shè)計】北京143期畢業(yè)僅36天,全員拿下高薪offer!黑馬AI設(shè)計連續(xù)6期100%高薪就業(yè)
2025-09-19【跨境電商運營】深圳跨境電商運營畢業(yè)22個工作日,就業(yè)率91%+,最高薪資達13500元
2025-09-19【AI運維】鄭州運維1期就業(yè)班,畢業(yè)14個工作日,班級93%同學(xué)已拿到Offer, 一線均薪資 1W+
2025-09-19【AI鴻蒙開發(fā)】上海校區(qū)AI鴻蒙開發(fā)4期5期,距離畢業(yè)21天,就業(yè)率91%,平均薪資14046元
2025-09-19