4
我想完全理解"Stack Diagram" principle。有人可以檢查我是否正確嗎?堆棧圖 - Python
到目前爲止,我的理解是使用堆棧圖來跟蹤代碼中函數中使用的變量。
但是我不知道是否在某個函數內創建了一個新的變量,是否應該包含在堆棧圖中。
例如,我們應該在堆棧圖中包含變量「p」嗎?比方說:
def g(y):
p = A(y, y)
print z, p
return p
def A(x, y):
x = x + 1
return x * y
x = 1
y = x + 2
我想我的籌碼應該是這個樣子:
<module> x --> 1
y --> 3 (Should I put 3 or x + 2 here)
fct g y --> 3 (should I stop here or should I include a line for the variable p)
fct A x --> 4
y --> 3
的最後一個問題是:我們應該提到關於功能做什麼其他的事情什麼。就像函數A的情況一樣,它返回x * y = 12。我們是否應該將其包含在堆棧圖中,還是該圖正確地表達了它的方式?
由於
我不熟悉「*'堆棧圖原理*」。你能提供一個參考嗎? –
[鏈接](http://www.openbookproject.net/thinkcs/python/english2e/ch03.html#stack-diagrams) – Quester
有可能沒有硬和設置規則,但函數變量通常在堆棧上創建,所以我會把p放在那裏與fct g。 – JoelWilson