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