zoukankan      html  css  js  c++  java
  • [深入Python]Python的私有变量

    Python没有真正的私有变量。内部实现上,是将私有变量进程了转化,规则是:_<类名><私有变量>

    下面的小技巧可以获取私有变量:

    1 class Test(object):
    2     def __init__(self):
    3         self.__zzz=111
    4 
    5 if __name__ == '__main__':
    6     a =  Test()
    7     print a._Test__zzz

    同样,通过a._Test__zzz=222的方式,可以修改私有变量的值。

    通过dir(Test)和dir(a)可以看到类属性和其实例属性之间的区别:

    print dir(Test)
    print dir(a)
    ['__class__', '__delattr__', '__dict__', '__doc__', '__format__', '__getattribute__', '__hash__', '__init__', '__module__', '__new__', '__reduce__', '__reduce_ex__', '__repr__', '__setattr__', '__sizeof__', '__str__', '__subclasshook__', '__weakref__']
    ['_Test__zzz', '__class__', '__delattr__', '__dict__', '__doc__', '__format__', '__getattribute__', '__hash__', '__init__', '__module__', '__new__', '__reduce__', '__reduce_ex__', '__repr__', '__setattr__', '__sizeof__', '__str__', '__subclasshook__', '__weakref__']
  • 相关阅读:
    codevs 1432 总数统计
    codevs3500 快速幂入门题解
    #163. 【清华集训2015】新式计算机
    2989:糖果
    191:钉子和小球
    java 删除所有HTML工具类
    DateTools时间插件
    新的开始
    springBoot---端口,路径数据配置
    springBoot---多个配置文件读取
  • 原文地址:https://www.cnblogs.com/tuzkee/p/3536234.html
Copyright © 2011-2022 走看看