python的私有变量解析

时间:2014-05-03 17:37:55   收藏:0   阅读:333
在内的内部定义并使用,外部无法访问,以双下划线作为前作,定义后被python转为
_classname__变量名了

--------------------------------------------------------------------------------------
In [1]: class aa:
   ...: __x = 12 #私有变量_ _x
   ...: def px(self):
   ...: print ‘private __x‘, aa.__x #内部访问
   ...:

In [2]: a = aa()

In [3]: a.px()
private __x 12

In [4]: dir(a)
Out[4]: [‘__doc__‘, ‘__module__‘, ‘_aa__x‘, ‘px‘] # map成_classname__变量名了

In [5]: a.__x = 13#实例对象a的实例变量

In [6]: dir(a)
Out[6]: [‘__doc__‘, ‘__module__‘, ‘__x‘, ‘_aa__x‘, ‘px‘]

In [7]: print a.__x
13

In [8]:In [8]: print aa.__x
---------------------------------------------------------------------------
AttributeError Traceback (most recent call last)
<ipython-input-8-34f87438b5b5> in <module>()
----> 1 print aa.__x

AttributeError: class aa has no attribute ‘__x‘

In [9]:
-----------------------------------------------------------

python的私有变量解析,布布扣,bubuko.com

评论(0
© 2014 mamicode.com 版权所有 京ICP备13008772号-2  联系我们:gaon5@hotmail.com
迷上了代码!