知行编程网知行编程网  2022-12-02 10:00 知行编程网 隐藏边栏  2 
文章评分 0 次,平均分 0.0
导语: 本文主要介绍了关于python伪私有属性的理解的相关知识,希望可以帮到处于编程学习途中的小伙伴

python伪私有属性的理解


1、说明

(1) 确保定义类别中的属性(类别属性和实例属性)的名称是唯一的,即使是同名属性,也能区分属于哪个类别。

(2)在属性名前加__双下划线,后面不加下划线,py会把这个属性转换成_className__attrName。

(3) 可以看作是私有属性,即对外暴露的属性名不再是定​​义的属性名,而是_className__attrName。

(4)使用伪属性是为了保证唯一性,防止在多重继承的过程中不同子类重名造成的冲突。


2、实例

## private.py
class Person:
    __template_name = "person instance template name"
 
    def __init__(self,name):    
        self.__name = name      ## __name 属于Person类,
 
    def get_name(self):
        return self.__name
 
    @staticmethod
    def get_template_name():
        return Person.__template_name
 
>>> p = Person("keithl")
>>> print(p.get_name())
keithl
 
>>> print(p._Person__name)
keithl
 
>>> print(p.__name)
AttributeError: 'Person' object has no attribute '__name'
 
>>> print(dir(p))


本文教程操作环境:windows7系统、Python 3.9.1,DELL G3电脑。

本文为原创文章,版权归所有,欢迎分享本文,转载请保留出处!

知行编程网
知行编程网 关注:1    粉丝:1
这个人很懒,什么都没写
扫一扫二维码分享