
Python 类属性中的下划线:隐而不露
在 Python 中,我们经常看到类属性前后带有一个或两个下划线,但它们到底有什么意义呢?
单下划线 (_A)
单下划线表示该属性是受保护的,即只有该类及其子类才能访问。然而,在实践中,单下划线实际上只是一种命名约定,它并没有强制访问限制。
立即学习“Python免费学习笔记(深入)”;
双下划线 (__B)
双下划线则不同了。它除了具有保护属性的作用外,还引入了一种称为名称混淆的新特性。编译器会自动将属性名替换为一个以 _类__ 开头的名称。
以题中的例子为例,__B 属性会被编译器替换为 _A__B。虽然这种混淆看似增加了访问难度,但实际上你仍然可以在外部通过 _A__B 直接访问它。
因此,我们可以得出结论,Python 中虽然没有真正的属性可见性修饰符,但可以通过下划线来规定访问约定。单下划线表示受保护,双下划线表示隐式保护。
以上就是Python类属性中的下划线究竟有什么作用?的详细内容,更多请关注php中文网其它相关文章!
每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号