python 的实例属性和类属性

由于Python是动态语言,根据类创建的实例可以任意绑定属性。

给实例绑定属性的方法是通过实例变量,或者通过self变量,但是如果类本身需要绑定一个属性呢,可以直接在 class 中定义

class Student(object):

    name = 'Student'


s = Student()

print(s.name)
print(Student.name)

s.name = 'Michael'


print(s.name)

print(Student.name)

del s.name
print(s.name)

分别输出

Student
Student
Michael
Student
Student

在编写程序的时候,千万不要对实例属性和类属性使用相同的名字,因为相同名称的实例属性将屏蔽掉类属性,但是当你删除实例属性后,再使用相同的名称,访问到的将是类属性。