类是创建不同对象的蓝图。创建对象以形成类时,它们不再依赖于class属性。同样,该类无法控制所创建实例的属性。
在下面的示例中,我们看到MainClass具有类属性,从主类创建的对象具有自己的属性值。打印这些值使我们更加清楚。最后,该类无法访问对象属性的值。
class MainClass(object): class_attr = 'Sun' def __init__(self, instance_attr): self.instance_attr = instance_attr if __name__ == '__main__': obj1 = MainClass('Mon') obj2 = MainClass('Tue') # print the instance attributes print (obj1.instance_attr) print (obj2.instance_attr) #print the class attribute using Mainclass print(MainClass.class_attr) #print the classattribute using objects print (obj1.class_attr) print (obj2.class_attr) #printing instance attribute as a class property gives error #print (MainClass.instance_attr)
输出结果
运行上面的代码给我们以下结果-
Mon Tue Sun Sun Sun