文章大致内容摘要:
-
python没有所谓的private变量或public变量,约定俗成使用下划线开头的变量为私有变量
-
python对以两个下划线开头的变量,进行命名改编(name mangling)。例如
__local, 改编为_LocalProxy__local, 其中LocalProxy为__local所在的类的类名
举例:
|
|
运行上面代码将报错,a无法访问__private, 因为__private已经被改名为_A__private, 可以通过dir(a)进行查看
注意一点:
__private这个变量名在类A内部可以使用,但是在外部不能使用,而_A_private类的内部与外部都可以使用