python学习笔记-tip38(实例属性和类属性)

实例属性和类属性

千言万语汇成一句话,实例属性是实例属性,类属性是类属性,是两个东西

接下来,看例子就可以了

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

      class Student(object):
              def __init__(self,name):
                    self.name=name
      #Student类本来没有age属性,但是却可以在实例中直接绑定属性
      s=Student('xiaoming')
      s.age=18
      print(s.age)
      #但是由于类中没有该属性,这时就会报错
      print(Student.age)
python学习笔记-tip38(实例属性和类属性)_第1张图片

但是,如果

     class Student(object):
              def __init__(self,name):
                    self.name=name
      #Student类本来没有age属性,但是却可以在实例中直接绑定属性
      s=Student('xiaoming')
      s.age=18
      print(s.age)
      #如果这样设置了,那么就是给类添加了属性,当然可以访问到
      Student.age=19
      print(Student.age)

给类添加属性的话,就能访问到了

下面看一个比较乱的例子

python学习笔记-tip38(实例属性和类属性)_第2张图片

你可能感兴趣的:(python学习笔记-tip38(实例属性和类属性))