实例属性和类属性

NOTE

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

class Student(object):
    def __init__(self, name):
        self.name = name

a = Student('Chen')
a.score = 90

同时,也可以直接给类绑定一个属性:

class Student(object):
    name = 'Student'

当我们定义了一个类属性后,这个属性虽然归类所有,但类的所有实例都可以访问到。

>>> class Student(object):
...     name = 'Student'
... 

>>> s = Student()

>>> print(s.name)
Student 

>>> print(Student.name)
Student

>>> s.name = 'Chen'
>>> print(s.name)
Chen

>>> del s.name
>>> print(s.name)
Student

当对象也定义了一个同名的属性时,会将原有的类属性覆盖掉,当删除对象的这个属性时,再次访问就会访问到类属性。

所以类属性一般不和对象的属性重名。

2017/2/28

相关文章:

  • 2022-01-08
  • 2021-06-11
  • 2021-10-13
  • 2022-02-19
  • 2021-10-09
  • 2022-12-23
  • 2022-12-23
  • 2021-05-18
猜你喜欢
  • 2021-11-18
  • 2021-12-29
  • 2022-01-06
  • 2021-11-08
  • 2021-08-20
  • 2021-07-14
  • 2021-12-19
相关资源
相似解决方案