Python 自动化测试面试题目
1、super 是干嘛用的?在 Python2 和 Python3 使用,有什么区别?为什么要使用 super?请举例说明。
答:
∙师生恋的电影super 用于继承父类的方法、属性。
我可爱的宝宝∙super 是新式类中才有的,所以 Python2 中使用时,要在类名的参数中写 Object。Python3 默认是新式类,不用写,直接可用。
∙使用 super 可以提高代码的复用性、可维护性。修改代码时,只需修改一处。
∙代码举例:
1.
class baClass:
2.
3.
def test1(lf, num):农业的英语
4.
5.
print(num)
6.
7.
8.
9.
class sonClass(baClass):
10.
11.
def 春秋是什么生肖test2(lf):
12.
13.
super().test1(num)
14.
15.
16.
17.
son = sonClass()
18.
19.
st1(11)
20.
2、阅读以下代码,推导最后结果:
1.
def add(n, i):
2.
3.
return n+i
4.
5.
6.
7.
def test():
8.
9.
for i in range(4):
10.
11.
yield i
12.燕子掌的养殖方法
13.
14.
15.
g = test()
16.
17.
18.
19.
for n inqq修改密码 [1, 10, 5]:
20.青岛明星
21.
g = (add(n, i) for i in g)
22.
23.
24.
25.
print(list(g)) # 结果是 [15, 16, 17, 18]
26.
答: 所有的结果都是生成器表达式,不调用它,不从里面取值,就不干活。附上我的推导过程:
1.
n = 1
2.
3.
g = (add(n,i) for i in test())
4.
5.
# print(list(g)) # [1, 2, 3, 4]
6.
7.
8.
n = 10
9.
10.
g = (add(n,i) for i in (add(n,i) for i in test()))
11.
12.
# print(list(g)) # [20, 21, 22, 23]
13.
14.
15.
n = 5
16.
17.
g = (add(n,i) for i in (add(n,i) for i in (add(n,i) for i in many修饰可数还是不可数test())))