python偽私有屬性的理解
1、說明
(1)確保定義類別中的屬性(類別屬性和實例屬性)名稱是唯一的,即使是同名屬性,也能區分屬于哪個類別中的定義屬性。
(2)在屬性名稱前面添加__雙下劃線,后面不添加下劃線,py會將此屬性轉換為_className__attrName。
(3)可視為私有屬性,即對外暴露的屬性名稱不再是定義的屬性名稱,而是_className__attrName。
(4)使用偽屬性是為了保證唯一性,防止不同子類在多繼承過程中命名相同而產生沖突。
2、實例
##private.py
classPerson:
__template_name="personinstancetemplatename"
def__init__(self,name):
self.__name=name##__name屬于Person類,
defget_name(self):
returnself.__name
@staticmethod
defget_template_name():
returnPerson.__template_name
>>>p=Person("keithl")
>>>print(p.get_name())
keithl
>>>print(p._Person__name)
keithl
>>>print(p.__name)
AttributeError:'Person'objecthasnoattribute'__name'
>>>print(dir(p))
以上就是python偽私有屬性的理解,希望對大家有所幫助。更多Python學習教程請關注IT培訓機構:千鋒教育。