1. 类属性
定义:
直接定义在类内部的属性为类属性,为这个类对象所有,所有类的实例可以访问。
class MyClass(object): class_attribute = "class_attribute"
访问:
类名.属性名
MyClass.class_attribute = "new_name"
实例名.属性名
instance_class = MyClass() print instance_class.class_attribute # 注意1:如果存在重名的实例属性,则访问的是实例属性 # 注意2:这种方式只能访问,不能赋值 # instance_class.class_attribute = "new_name" 其实是动态创建一个实例属性,并赋值"new_name"
2. 实例属性
定义:
在init()方法中定义:
class MyClass(object): def __init__(self): self.instance_attribute = "instance_attribute"
动态创建:
instance_class = MyClass() instance_class.instance_attribute = "instance_attribute"
访问:
只能通过实例.属性名访问,因为这个属性是属于实例的。
instance_class = MyClass() print instance_class.instance_attribute