在實際開發中,物件的某些屬性或方法可能只希望在物件的內部被使用,而不希望在外部被訪問到,
- 私有屬性就是物件不希望公開的屬性,
- 私有方法就是物件不希望公開的方法,
在定義屬性或方法時,在屬性名或者方法名前增加兩個下劃線,定義的就是私有屬性或方法,
示例:
class Women:
def __init__(self, name):
self.name = name
self.__age = 18
def __secret(self):
# 在物件的方法內部,是可以訪問物件的私有屬性的
print("我的年齡是 %d" % self.__age)
xiaofang = Women("小芳")
# 私有屬性,外部不能直接訪問
print(xiaofang.__age)
# AttributeError: 'Women' object has no attribute '__age'
# 私有方法,外部不能直接呼叫
# xiaofang.__secret()
在這里科普下 Python 對于物件私有屬性和私有方法的特殊處理,
其實在 Python 中,并沒有真正意義的私有,
在給屬性、方法命名時,實際是對名稱做了一些特殊處理,使得外界無法訪問到,
如果一定要在外部訪問,那么只需要在名稱前面加上 '_類名' 變成 '_類名__名稱',
# 私有屬性,外部不能直接訪問到
print(xiaofang._Women__age)
# 私有方法,外部不能直接呼叫
xiaofang._Women__secret()
友情提示:在日常開發中,不要使用這種方式,訪問物件的私有屬性或私有方法,

轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/24502.html
標籤:Python
