python变量和属性的查找方式,super()是什么东西
- Legb作用域查找原则仅对简单的变量名有效。
- 当查找的对象是属性级别的变量名时会存在于特定的对象中,并遵循一种完全不同的查找规。
- 后边跟着.号的属性名引用会查找一个或多个对象,而不是作用域,这个与面向对象的中的继承是密切相关的。
- Pythoh中的oop其实就只是在已连接命名空间的对象内寻找属性而已。
- 当查找对象的时候先在实例对象中查找,然后再到类中查找,找不到再到父类中去查找。
- super() 获取的是父类的定义(类对象)而不是父类生成的对象。
- super() 函数是用于调用父类(超类)的一个方法。
- super 是用来解决多重继承问题的,直接用类名调用父类方法在使用单继承的时候没问题,但是如果使用多继承,会涉及到查找顺序(MRO)、重复调用(钻石继承)等种种问题。
- MRO 就是类的方法解析顺序表, 其实也就是继承父类方法时的顺序表

浙公网安备 33010602011771号