python学习DAY10(实例变量和类变量)
实例变量————静态属性(描述各个对象具有的属性) 类的方法————动态属性 类变量:在类中不在任何方法中定义也不是实例变量。(类似于C++的静态变量,位于类的内存中) 作用:节省开销 如果:类变量和实例变量同名时,实例化的对象调用该变量时先寻找实例本身-->后寻找类变量,即先输出实例变量,类变量不输出;如果没有,再输出类变量 对象:在一个对象中修改类变量,实质是在该对象的内存中添加一个变量,但不影响该类变量的值,此时其他对象调用类变量时,依旧是原来的类变量 类名:将类名作为作用域时,修改类变量,此时会影响其他对象的调用(当然,当通过对象去修改类变量时,并不会影响该值,只会影响该对象的类变量的值) 但如果类变量是列表,则通过对象修改或者通过类名修改都会直接影响该类变量! 增加实例变量:(对象.实例变量名=True) 注意:此时新添加的实例变量只归属于该对象所有,其他实例化的对象并不享有此变量 删除实例变量:(del 实例变量名) 从对象的内存中删除该实例变量