类是创建不同对象的蓝图。创建对象以形成类时,它们不再依赖于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