python中的方法重写



我只得到一个乘法输出:6,但我想要两个输出。

如果我在classAdd中使用return,为什么我没有得到return

class Add:
def result(self, x, y):
return f"add, a, b"
class multi(Add):
def result(self, a, b)
p=a*b
super().result (1, 2)
return f"multiply:{p}"

x=multi() 
print(x.result(2, 3)) 

我想要两个输出一起

add: 3
multyply:6

您可以返回并打印调用super().result的位置

class Add:
def result(self, x, y):
return f"add => {x} + {y} = {x+y}"
class multi(Add):
def result(self, a, b):
print(super().result (1, 2))
return f"multyply => {a} * {b} = {a*b}"

x=multi() 
print(x.result(2, 3))

如果您不想在函数multi:内打印

class Add:
def result(self, x, y):
return f"add:{x+y}"

class multi(Add):
def result(self, a, b):
p=a*b
add = super().result (1, 2)
return add+"n"+f"multiply:{p}"

x=multi() 
print(x.result(2, 3)) 

最新更新