【问题标题】:passing variables to another DEF将变量传递给另一个 DEF
【发布时间】:2020-04-05 14:20:12
【问题描述】:

我正在编写一个与此类似的类,我如何将值 (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)

【问题讨论】:

标签: python function sum parameter-passing


【解决方案1】:

首先,如果您正确地格式化代码,如下所示:

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)

但要回答您的问题,您将使用 EMnumber 的结果,如图所示

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))

请注意我如何将打印结果更改为返回,而不是将结果显示到控制台,而是将结果传递给调用者。如果你想现在显示结果,你可以使用

print(instance.doThisThing(a, b, c, d))

【讨论】:

    【解决方案2】:

    试试这个:

    a = A()
    a.q(w= '''w''',v= '''v''')
    

    【讨论】:

    猜你喜欢
    • 2015-06-28
    • 2015-05-22
    • 2014-04-02
    • 2011-03-15
    • 2021-09-28
    • 2022-01-15
    • 2012-12-21
    • 2016-08-09
    • 1970-01-01
    相关资源
    最近更新 更多