我正在为我的学校工作做一个项目,遇到了一些麻烦。我试图允许一个函数使用在另一个函数中创建的变量。 到目前为止,这是我简单尝试过的内容:
1)
def randomQuestions(self):
x = 9*5
y = 7*4
return x
return z
def create_question_widgets(self):
print(x)
print(z)
2)
def randomQuestions(self):
x = 9*5
z = 7*4
self.create_question_widgets(self,x,z)
def create_question_widgets(self,x,z):
print(x)
print(z)
我是一个新的/错误的编码器,所以请忍受我的错误代码。我也用Google搜索了该怎么做,但并没有太大帮助。谢谢。
答案 0 :(得分:1)
第一次尝试中的错误是您有两个return
语句。一旦函数返回,它将停止。尽管可以将多个值作为tuple
返回。
return x, y
第二次尝试中的错误是您不需要提供self
作为绑定等距方法的参数。它是隐式传递的。
self.create_question_widgets(x, z)
尽管,tt似乎是某些类中的方法。这意味着您可以将x
和y
存储为实例属性。
class Foo:
def randomQuestions(self):
self.x = 9 * 5
self.y = 7 * 4
def create_question_widgets(self):
print(self.x)
print(self.y)
foo = Foo()
foo.randomQuestions()
foo.create_question_widgets()
45
28
答案 1 :(得分:1)
如果您具有x和y实例属性,如下所示:
self.x = 9*5
self.y = 7*4
那么您就不需要return语句(无论如何在一个方法中都不能有两个),而在下一个方法中也是如此:
def create_question_widgets(self):
print(self.x)
print(self.z)