python的类变量和实例变量,什么是类变量和实例变量
python中类变量和实例变量的详细讲解在了解类变量和实例变量之前,首先要了解类变量和实例变量的定义。
Class:可以在一个类的所有实例之间共享的值,即一个实例可以调用一个类变量,而不是单独赋给每个实例。
实例变量:实例化后,每个实例都有自己的变量,类不能直接调用实例变量。
1.基本类变量和实例变量如下:num代表类变量,name代表实例变量。
class Test(object):num=0 def _ _ init _ _(self,name):self . name=name Test . num=1 if _ _ name _ _= _ _ main _ _ :print(Test . num)t1=Test( jack )print(Test . num)T2=Test( cjdsg )print(t1 . name,T1.num) print(t2.name,t2.num) II .在类外添加变量。也可以在类外部向类中添加类变量或实例变量。
class Test(object):num=0 def _ _ init _ _(self,Name):self . Name=Name Test . num=1 if _ _ Name _= _ _ main _ :t1=Test( jack )T2=Test( cjdsg )Test . class _ str= Add class variable Print(Test . class _ str)Print(t1 . class _ str)# Add instance variable t1 . age=20 III .变量是随意添加的吗?当类不受限制时,可以随意向类中添加变量,并使用__slots__来限制实例变量:
class Test(object):age=1 _ _ slots _ _=[ name , num] def __init__(self,name):self . name=name Test . age=1 if _ _ name _ _= _ _ main _ _ :# print(Test . num)t1=Test( jack )# print(Test . num)T2=Test( cjdsg )# print(t1 . name,T1.num) # print (t2.name,t2.num) test.class _ str=添加类变量 print(Test . age _ str)print(t1 . class
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。