1. 程式人生 > >python - 私有屬性和私有方法

python - 私有屬性和私有方法

私有屬性和私有方法
應用場景及定義方式
應用場景
在實際開發中,物件的某些屬性或方法可能只希望在物件的內部使用,而不希望在外部被訪問到
私有屬性 就是 物件 不希望公開的 屬性
私有方法 就是 方法 不希望公開的 方法
定義方法
在定義屬性或方法時,在屬性名或者方法名前增加兩個下劃線,定義的就是私有屬性或方法

class Women(object):
    def __init__(self,name):
        self.name = name
        self.__age = 18	# 私有屬性

    def __secret(self):	# 私有方法
        print('%s 的年齡是 %d' %(self.name,self.__age))

lily = Women('lily')
print(lily.age)	# 呼叫會報錯
lily.__secret()	# 呼叫會報錯

輸出報錯:

Traceback (most recent call last):
  File "/home/kiosk/Documents/python/python1223/day11/07_私有屬性和私有方法.py", line 25, in <module>
    print(lily.age)
AttributeError: 'Women' object has no attribute 'age'