---面向对象笔试题
1 没有继承关系的属性查找顺序是什么?
对象自身--->类---->类中没有就报错。
2 继承到对象的方法,对象来调用和类来调用有什么不同?
对象来调用会把自身传入,类来调用就是普通函数,有几个参数就需要传几个参数。
3 Python中的类支持多继承吗?如果支持,如何多继承?
Python支持多继承,用逗号分隔开多个继承的类。
4 通过类的什么属性可以查看该类继承了那些父类?
类名.bases
5 有继承关系的属性查找是什么顺序?
对象自身--->类---->父类----->父类没有就报错。
6 什么是新式类,什么是经典类?
继承了object类的类都是新式类;没有继承object类的类都是经典类。
7 新式类属性查找方式是什么? 画图表示新式类出现菱形问题的查找顺序?
广度优先。
8 经典类属性查找方式是什么?画图表示经典类出现菱形问题的查找顺序?
深度优先。
9类名.mro()会打印出什么?
所有父类线性顺序,mro列表。
10 什么是鸭子类型?
叫声像鸭子,走路像鸭子,就是鸭子。
11 有哪两种方式约束子类必须重写父类的某些方法?
abc模块;抛异常。
12 封装如何隐藏属性或方法?
在类中通过 __
13 property有什么作用?
把方法属性包装成数据属性。
14 classmethod装饰的方法叫什么?有什么特殊之处?
类的绑定方法,类来调用,会把自身传入。
15 staticmethod装饰的方法叫什么?有什么特殊之处?
静态方法(非绑定方法),类和对象都可以调用,不会把自身传入。