python中如何区分类变量与对象变量

class People:
    num1=111
    num2=222
    def __init__(self,num1):
        self.num1=num1

        print ("People " + " 被创建")
    def __del__(self):
        print ("People " + " 被析构")

if __name__=="__main__":
    obj1=People(333)
    print (obj1.num1) #对象的num1是333
    print (obj1.num2) #对象的num2没有赋值就是类的num2
    print (People.num1) #类的num1仍然是111
    print (People.num2) #类的num2  222
    People.num2=123456  #这样才能改变类变量num2
    print (People.num2)
    obj1=5 #左边是引用 右边是对象 引用为零的对象就被回收
    print ("-----------------")

理解

写在类刚开始的变量是属于这个类的变量,而  self.name取到的或者设置的是对象的变量,但是当对象没有某变量而类有那个变量时:self.name取到的是类变量

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章