python伪私有属性的理解
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培训机构:千锋教育。

相关推荐HOT
更多>>
python怎么获取列表元素的索引
本文主要介绍了python中如何获取列表的索引,以及如何返回列表中某个值的索引。1、index方法list_a=[12,213,22,2,32]forainlist_a:print(list_a...详情>>
2023-11-10 18:02:55
python模块怎么使用
Python提供了强大的模块支持,主要体现在,不仅Python标准库中包含了大量的模块(称为标准模块),还有大量的第三方模块,开发者自己也可以开发自...详情>>
2023-11-10 14:15:30
python爬虫和数据分析有哪些第三方库?
以上内容为大家介绍了爬虫和数据分析有哪些第三方库,希望对大家有所帮助,如果想要了解更多Python相关知识,请关注IT培训机构:千锋教育。http:...详情>>
2023-11-10 13:41:10
python装饰属性的方法
python中装饰属性的方法1、使用get、set方法来封装对一个属性的访问在很多面向对象编程的语言中都很常见。classStudent(object):def__init__(se...详情>>
2023-11-10 09:18:27