1、super 是干嘛用的?在 Python2 和 Python3 使用,有什么区别?为什么要使用 super?请举例说明。 答:
super 用于继承父类的方法、属性。
super 是新式类中才有的,所以 Python2 中使用时,要在类名的参数中写 Object。Python3 默认是新式类,不用写,直接可用。
使用 super 可以提高代码的复用性、可维护性。修改代码时,只需修改一处。
代码举例:
.
class baseClass:
.
.
def test1(self, num):
.
.
print(num)
.
.
.
.
class sonClass(baseClass):
.
.
def test2(self):
.
.
super().test1(num)
.
.
.
.
son = sonClass()
.
.
son.test1(11)
.
2、阅读以下代码,推导最后结果:
.
def add(n, i):
.
.
return n+i
.
.
.
.
def test():
.
.
for i in range(4):
.
.
yield i
.
.
.
.
g = test()
.
.
.
.
for n in [1, 10, 5]:
.
.
g = (add(n, i) for i in g)
.
.
.
.
print(list(g)) # 结果是 [15, 16, 17, 18]
.
答: 所有的结果都是生成器表达式,不调用它,不从里面取值,就不干活。附上我的推导过程:
.
n = 1
.
.
g = (add(n,i) for i in test())
.
.
# print(list(g)) # [1, 2, 3, 4]
.
.
.
n = 10
.
.
g = (add(n,i) for i in (add(n,i) for i in test()))
.
.
# print(list(g)) # [20, 21, 22, 23]
.
.
.
n = 5
.
.
g = (add(n,i) for i in (add(n,i) for i in (add(n,i) for i in test())))
.
.
g = (add(n,i) for i in (add(n,i) for i in (5,6,7,8)))
.
.
g = (add(n,i) for i in (10,11,12,13))
.
.
.
g = (15,16,17,18)
.
.
print(list(g)) # [15, 16, 17, 18]
.
3、快速编写前端 HTML、JavaScript、Vue 代码。
答:
HTML、JavaScript 代码:
.
.
.
.
.
<head>
.
.
.
.
head>
.
.
<body>
.
.
.
.
<p>xxx公司是一家…p>
.
.
.
.
.
.
<h1>{{a}}h1>
.
.
<input type=“button” value=“按我” v-on:click=“add()”>
.
.
div>
.
.