Python中单下划线开头的特性
我们都知道,Python没有“私有变量”这样的说法,如果想访问,始终是有办法,但使用双下划线“__”,可以很大程度上实现“私有”。这里无需多言。
那么单下划线“_“开始的特性呢?很多书里面都没有说清楚,这里我谈谈我的看法。如果不对,欢迎各位指正。
直接上简单代码:
方法名和实例变量(Method Names and Instance Variables)
- 这段大体上和函数相同:通常使用小写单词,必要时用下划线分隔增加可读性. 使用一个前导下划线仅用于不打算作为类的公共接口的内部方法和实例变量. Python不强制要求这样; 它取决于程序员是否遵守这个约定. 使用两个前导下划线以表示类私有的名字. Python将这些名字和类名连接在一起:
如果类Foo有一个属性名为 __a, 它不能以Foo.__a访问. (执著的用户(An insistent user)还是可以通过Foo._Foo__a得到访问权.) 通常,双前导下划线应该只用来避免与类(为可以子类化所设计)中的属性发生名字冲突.