我正在编写与此类似的类,如何将值(w,v)传递给def q func
class A():
def EM (self,a,b):
self.a=a
self.b=b
w=a+b
print(w)
def number(self,c,d):
self.c=c
self.d=d
v=c-d
print(d)
def q (self,v,w) ##problrm here
qq=v+w
print(qq)
首先,如果您按照如下所示正确设置代码格式,这会有所帮助:
class A():
def EM (self,a,b):
self.a=a
self.b=b
w=a+b
print(w)
def number(self,c,d):
self.c=c
self.d=d
v=c-d
print(d)
def q (self,v,w) ##problrm here
qq=v+w
print(qq)
但是要回答您的问题,您将使用EM
和number
的结果,如图所示
instance = A()
result = instance.q(instance.EM(a, b), instance.number(c, d))
由于您想使用多个方法结果作为参数,因此您必须在这些方法之外进行操作,尽管您可以创建一个新方法使其看起来更好
class A():
def EM (self,a,b):
self.a=a
self.b=b
w=a+b
return w
def number(self,c,d):
self.c=c
self.d=d
v=c-d
return d
def q (self,v,w)
qq=v+w
return qq
def doThisThing(a, b, c, d):
return self.q(self.EM(a, b), self.number(c, d))
请注意,我如何将打印内容更改为return,而不是将结果显示在控制台上,我们希望将结果传递给调用方。如果您现在想显示结果,可以使用
print(instance.doThisThing(a, b, c, d))