Python类的属性

1.Python语言中类的属性有两类

实例属性

类属性

2.实例属性即同一个类的不同实例,其值是不相关联的,也不会相互影响,定义时使用self.属性名调用它时也使用它,类属性则是同一个类的所有实例所共有的。

直接在类中独立定义,引用的时候需要使用类名.类变量名,形式来引用,,只要是某个实例对其进行修改就会影响到它的所有这个类的实例

class Demo_Property:
    class_name="Demo_Property"
    def __init__(self,x=0):
        self.x=x
    def class_info(self):
        print("类变量值",Demo_Property.class_name)
        print("实例变量:",self.x)
    def chng(self,x):
        self.x=x
    def chng_cn(self,name):
        Demo_Property.class_name=name
dpa=Demo_Property()
dpb=Demo_Property()
print("初始化两个实例")
dpa.class_info()
dpb.class_info()
print("修改实例变量")
print("修改dpa实例变量")
dpa.chng(3)
dpa.class_info()
dpb.class_info()
print("修改dpb实例变量")
dpb.chng(10)
dpa.class_info()
dpb.class_info()
print("修改类变量")
print("修改dpa类变量")
dpa.chng_cn("dpa")
dpa.class_info()
dpb.class_info()
print("修改dpb类变量")
dpb.chng_cn("dpb")
dpa.class_info()
dpb.class_info()


总结:

对于实例变量,两个实例之间互不联系,,他们之间被修改为不同的值,对于类属性来说,无论哪个实例修改了它,都会导致所有实例的类属性发生改变

你可能感兴趣的:(Python高级编程)