面对对象之私有属性,以及单双下划线 | Pythoon

Posted 胡说八道

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了面对对象之私有属性,以及单双下划线 | Pythoon相关的知识,希望对你有一定的参考价值。

#     在很多程序中会遇到__name,_name的标识符,在类中,如果属性带有双
# 下划线,表示私有属性,通俗的讲,就是不能在类命名空间外被直接调用,但是
# 可以通过方法来调用。
#     其实这种表述并不明确,为什么不能被外部直接调用?
#     因为,在类被定义的时候,带有双下滑线的属性,它的名字会自动发生改变:
#     样式:_Classname__name
#     所以,无法直接通过obj.__name访问到值;
#   作用:防止子类创建的对象与基类创建的对象出现命名空间冲突的问题;

#     单下划线,其实这种标识符没有什么卵用,并不是其它博客上写的隐藏属性的
# 作用,也不能避免继承中的命名空间冲突的问题,只是带有单下划线的模块,
# 不能通过from some_module import * 来导入,但是可以指定导入,比如
# from a_module import _b_module;

 

以上是关于面对对象之私有属性,以及单双下划线 | Pythoon的主要内容,如果未能解决你的问题,请参考以下文章

测开之面向对象进阶篇・《属性自省》

python面向对象之 封装(Day25)

python之路--面向对象之封装

面对对象的属性和方法

python基础--面向对象之封装

oldboy 21th day. I love Python. 面向对象之封装, 多态, 继承 三大特性