Python的私有变量解析

本网站用的阿里云ECS,推荐大家用。自己搞个学习研究也不错
在内的内部定义并使用,外部无法访问,以双下划线作为前作,定义后被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)
in ()
—-> 1 print aa.__x

AttributeError: class aa has no attribute ‘__x’

In [9]:
———————————————————–

推荐阅读:

《Python开发技术详解》.( 周伟,宗杰).[高清PDF扫描版+随书视频+代码] http://www.linuxidc.com/Linux/2013-11/92693.htm

Python脚本获取Linux系统信息 http://www.linuxidc.com/Linux/2013-08/88531.htm

Python 的详细介绍请点这里
Python 的下载地址请点这

未经允许不得转载:演道网 » Python的私有变量解析

赞 (0)
分享到:更多 ()

评论 0

评论前必须登录!

登陆 注册