类内全局变量,共有私有,构建析构

竟然面向对象,那就即使不会面向对象也要尽量面向对象
今天小写一会python,总结这么一点点。


class classA:
    publicCnt=0;#public全局变量 # @ 20161101今天知道了,也就是static才在这里定义,非共享的直接self.var就可以了
    __privateCnt=0;#前面两个横杠就private变量了
    __name="";
#需要注意的是,在Python中,变量名类似__xxx__的,
#也就是以双下划线开头,并且以双下划线结尾的,是特殊变量,
#特殊变量是可以直接访问的,不是private变量,所以,不能用__name__、__score__这样的变量名
    def __init__(self,nameTmp):#默认的构建函数就是这个名字,函数前面加双杠也代表私有
        self.__class__.publicCnt +=1;###快来看啊,加了__class__访问,这个全局变量立马就变成static变量了,成为这个类共享的
        self.__privateCnt +=1;###不加__class__就是普通全局变量了,只属于这个对象的
        self.__name=nameTmp;
        print('init publicCnt',self.__name,self.publicCnt);
        print('init privateCnt',self.__name,self.__privateCnt);
    def __del__(self):#默认的析构函数就是这个名字
        self.__class__.publicCnt -=1;
        self.__privateCnt -=1;
        print('del publicCnt',self.__name,self.publicCnt);
        print('del privateCnt',self.__name,self.__privateCnt);
    def function(self):
        print('just a function');

if __name__=='__main__':
                  a=classA('a');
                  b=classA('b');
                  c=classA('c');
                  d=classA('d');
                  e=classA('e');
看了下输出顺序,不是很懂它的析构顺序怎样,
据说是字典顺序A-Za-z,但这个看着明显不像,
其实就是还不知道是什么字典顺序。
init publicCnt a 1
init privateCnt a 1
init publicCnt b 2
init privateCnt b 1
init publicCnt c 3
init privateCnt c 1
init publicCnt d 4
init privateCnt d 1
init publicCnt e 5
init privateCnt e 1
del publicCnt b 4
del privateCnt b 0
del publicCnt d 3
del privateCnt d 0
del publicCnt e 2
del privateCnt e 0
del publicCnt c 1
del privateCnt c 0
del publicCnt a 0
del privateCnt a 0
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 一、异同对比选择1、Python和ruby的相同点: * 都强调语法简单,都具有更一般的表达方式。python是缩...
    沃伦盖茨阅读 4,201评论 2 24
  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 173,532评论 25 708
  • 1. Java基础部分 基础部分的顺序:基本语法,类相关的语法,内部类的语法,继承相关的语法,异常的语法,线程的语...
    子非鱼_t_阅读 31,769评论 18 399
  • 枝叶盘附从根生,葱葱茂业美境中,待的一日根归故,繁华美境入虚空。
    cab5ad29a304阅读 158评论 0 0
  • 就像走在一条路上 你看见很多人都在往前走 于是 你也往前 一段时间后 一些人停留在原地 一些人往回走 大部分人仍然...
    大象与鲸鱼赏月阅读 644评论 0 0