您的位置:首页 > 编程语言 > Python开发

python的私有变量解析

2014-06-21 18:06 197 查看
在内的内部定义并使用,外部无法訪问,以双下划线作为前作,定义后被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]:

-----------------------------------------------------------
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: