python - 将变量传递给另一个 DEF
问题描述
我正在写一个类似于这个的类我如何将值(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))
请注意我如何将打印更改为返回,而不是将结果显示到控制台,而是将结果传递给调用者。如果你想现在显示你可以使用的结果
print(instance.doThisThing(a, b, c, d))
推荐阅读
- python - 在 pyspark 中创建包含 MapType 的复杂模式的数据框
- keras - 停止训练有什么好处?
- javascript - 如何在 echart 中格式化工具提示值(角度)
- java - 使用 java math.random 从几个用户输入选项中生成随机字符串?
- c++ - 如何修改for循环?
- php - 如何仅在 PHP 中打印以“M”开头的字符串?
- ember.js - 升级到 ember 3.15 后,产生承诺的助手将无限重新计算
- latex - 具有组合列的 LaTeX 表 - 标签拆分
- excel - Application.MoveAfterReturn=False 不能在受保护的工作表上工作
- go - 使用 Golang 包对象(.a 文件)