Hello! 欢迎来到小浪资源网!


Python中下划线(_)在类属性中究竟代表什么?


Python中下划线(_)在类属性中究竟代表什么?

python 中类属性中下划线的含义

对于 python 类的属性,下划线 (-) 并不是一个普通的命名约定,它实际上具有特殊的意义。

当一个属性名称以单个下划线开头(如 _A),称为私有属性,虽然它在类中可以访问,但外部无法直接访问。

但是,当属性名称以双下划线开头(如 __B),称为保护属性,会产生名称混淆(Name Mangling)的效果。编译器会将属性名称替换为类似 _类__属性 的格式,例如 _A__B。

虽然属性名称被改变,但它仍然可以从外部访问,只要你了解替换后的名称。因此,双下划线属性实际上仍然是“公有”的,只是名称被编译器修改。

立即学习Python免费学习笔记(深入)”;

需要注意的是,Python 并没有真正的可见性修饰符,下划线仅仅是一种约定俗成。因此,过分依赖下划线来控制可见性并不是一个好做法。

相关阅读