Welcome 微信登录
编程资源 图片资源库 蚂蚁家优选 PDF转换器

首页 / 操作系统 / Linux / Python的私有变量解析

在内的内部定义并使用,外部无法访问,以双下划线作为前作,定义后被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开发技术详解》.( 周伟,宗杰).[高清PDF扫描版+随书视频+代码] http://www.linuxidc.com/Linux/2013-11/92693.htmPython脚本获取Linux系统信息 http://www.linuxidc.com/Linux/2013-08/88531.htmPython 的详细介绍:请点这里
Python 的下载地址:请点这里本文永久更新链接地址:http://www.linuxidc.com/Linux/2014-05/101111.htm