假設我有這樣的功能。def funA(a,b): if a>5: c=a+b if a<5: c=a-b return c那么我是否可以在像這樣的另一個函數中使用變量 C 呢?這是正確的方法嗎?def fun(foo) if foo>5: foo +=c return foo
1 回答

江戶川亂折騰
TA貢獻1851條經驗 獲得超5個贊
只需使用返回值作為參數
這是一個例子:
def funcA(x):
return x
def funcB(y):
return y
#pass to function
funcB(funcA(1))
#store to variables
z = funcA(1)
以下是它如何適用于您的案例:
首先,您只能從中獲取一個值,因為 a 不能同時小于和大于 5,因此我將修改該函數以將這兩個值作為元組提供:
def funA(a,b):
return (a+b,a-b)
def funB(c,d):
print(c,d)
funB(funA(1,2)[0], funA(1,2)[1])
如果仔細觀察,funA會返回這些值的元組,以便您可以使用它們的index;訪問每個值。第一個索引是 0,第二個索引是 1,因此:funA(1,2)[0]并且funA(1,2)[1]
添加回答
舉報
0/150
提交
取消