1. 类可以定义两种属性:

       1> 静态属性:直接在类中定义的变量,是共享给所有实例对象的;

       2> 动态属性:定义在类中的方法,是绑定到所有实例对象的;

       3> 创建一个对象/实例就会创建一个对象/实例的名称空间,存放对象/实例的名字,称为对象/实例的属性;

       4> 对象/实例访问对象时,先找自己的,没有再找类的,之后再找父类的,再没有就抛错;

class Course:
    language = ['Chinese']
    def __init__(self,teacher,course,period,price):
        self.teacher = teacher
        self.name = course
        self.period = period
        self.price = price

    def func(self):
        pass

python=Course('egon','python','6 months',2000)
linux=Course('amy','linux','9 months',4000)

python.language = 'English'  #python实例自己增加了一个属性language

print('Course.language的id:',id(Course.language))
print('python.language的id:',id(python.language)) #新地址
print('linux.language的id:',id(linux.language))
print('--------------------')
print('Course.language:',Course.language)
print('python.language:',python.language)
print('linux.language:',linux.language)    #linux自己没有属性language,引用了类的静态属性
print('++++++++++++++++++++')
print('Course.__dict__:',Course.__dict__)
print('python.__dict__:',python.__dict__)
print('linux.__dict__:',linux.__dict__)
类静态属性

相关文章:

  • 2021-12-24
  • 2022-01-17
  • 2022-01-21
  • 2022-12-23
  • 2022-12-23
  • 2021-11-13
  • 2022-12-23
  • 2022-12-23
猜你喜欢
  • 2021-09-09
  • 2022-12-23
  • 2021-09-05
  • 2022-12-23
  • 2021-12-20
  • 2022-02-24
  • 2021-06-08
相关资源
相似解决方案