Python类属性中的下划线究竟有什么作用?
Python 类属性中的下划线:隐而不露
在 Python 中,我们经常看到类属性前后带有一个或两个下划线,但它们到底有什么意义呢?
单下划线 (_A)
单下划线表示该属性是受保护的,即只有该类及其子类才能访问。然而,在实践中,单下划线实际上只是一种命名约定,它并没有强制访问限制。
立即学习“Python免费学习笔记(深入)”;
双下划线 (__B)
双下划线则不同了。它除了具有保护属性的作用外,还引入了一种称为名称混淆的新特性。编译器会自动将属性名替换为一个以 _类__ 开头的名称。
以题中的例子为例,__B 属性会被编译器替换为 _A__B。虽然这种混淆看似增加了访问难度,但实际上你仍然可以在外部通过 _A__B 直接访问它。
因此,我们可以得出结论,Python 中虽然没有真正的属性可见性修饰符,但可以通过下划线来规定访问约定。单下划线表示受保护,双下划线表示隐式保护。
文章推荐
-
使用Networxx模块的超链接诱导主题搜索(HITS)算法- Python
超链接诱导主题搜索(HITS)算法是一种用于网络链接分析的流行算法,特别是在搜索引擎排名和信息检索中。 HITS 通过分...
Python
23秒前 0 -
使用索引列表在Python中查找元素的乘积
简介列表是Python中的一种数据类型,用于在单个变量中存储多个数字、字符串。我们可以借助索引来访问列表的元素。在Pyt...
Python
55秒前 0 -
在Python中打印字符串的所有子序列
简介在字符串操作和算法设计领域,打印给定字符串的所有子序列的任务起着至关重要的作用。子序列是通过从原始字符串中选择零个或...
Python
2分钟前 1 -
使用Python从字符串的末尾删除给定的子字符串
Python 是一种全球使用的编程语言,开发人员出于不同的目的使用它。 Python 具有各种不同的应用程序,例如 We...
Python
2分钟前 0 -
2020年适用于Linux程序员的10个最佳Python集成开发环境
Python 是世界上最流行的编程语言之一,Linux 是程序员中使用最广泛的操作系统之一。因此,有很多适用于 Linu...
Python
3分钟前 0
最新文章