python伪私有属性的理解

  • 更新时间:2021-06-26 10:24:54
  • 编辑:麴锐立
给网友们整理相关的编程文章,网友居嘉勋根据主题投稿了本篇教程内容,涉及到Python相关内容,已被679网友关注,涉猎到的知识点内容可以在下方电子书获得。

参考资料

正文内容

给学习python的读者整理一篇《python伪私有属性的理解》优秀文章,好久没看到这么好的Py技术类文章,增加了更多知识点内容,为了大家阅读方便。

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))

以上就是python伪私有属性的理解,希望对大家有所帮助。

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

相关教程

  • python的特点是什么

    python简单易学,免费开源,Python代码规范,优雅简洁明了,支持跨平台运行,有强大的标准库和第三方库支撑,应用范围广。

    发布时间:2019-06-27

  • 使用Python多线程爬虫爬取电影天堂资源

    这篇文章主要介绍了使用Python多线程爬虫爬取电影天堂资源 的相关资料,需要的朋友可以参考下

    发布时间:2019-08-26

用户留言