我的问题非常简单,但不幸的是我无法找到解决问题的方法。
我想运行一个def A,它只从def B返回一次值。
我写了这段代码:
def A():
x = 1
y = 2
z = 3
return a,b,c
def B():
d = A[0] + A[1]
e = A[2] - A[0]
print d,e
B()
如果我使用这段代码,它会运行四次!
提前致谢。
答案 0 :(得分:2)
很简单,您的代码中存在错误,A
是一个函数,您应该使用A()
调用它来获取返回的值。相反,你使用A[0]
这是不可下标的,你可以在B
函数中分配一个临时变量,这样你就可以重复使用返回的值,改为下面应该有效:
In [54]: def A():
...: x = 1
...: y = 2
...: z = 3
...: return x,y,z # I fixed your typo too
...:
...: def B():
...: a = A()
...: d = a[0] + a[1]
...: e = a[2] - a[0]
...: print(d,e)
...:
...: B()
3 2
答案 1 :(得分:1)
我会这样做:
def B():
a, b, c = A()
d = a + b
e = c - a
print d,e
但请确保您的函数A()
返回的是它声明的相同变量(x, y, z
而不是a, b, c
)。