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学习指路:Python基础教程
声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。
评论(0)