编程语言
首页 > 编程语言> > 堆栈图 – Python

堆栈图 – Python

作者:互联网

我想完全理解“Stack Diagram” principle.有人可以检查我是否正确吗?

到目前为止,我的理解是堆栈图用于跟踪代码中函数中使用的变量.

但是我不确定是否在某个函数中创建了一个新变量,如果它包含在堆栈图中.

例如,我们应该在堆栈图中包含变量“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.我们是否应该在堆栈图中包含它,或者图表是否正确?

谢谢

解决方法:

根据Stack Diagram的定义:

Each function is represented by a frame. A frame is a box with the
name of a function beside it and the parameters and variables of the
function inside it.

这意味着您还需要考虑函数中定义的变量.最好将y的值保持为y = 3而不是y = x 2 – 因为我们跟踪变量值并且通常不关心如何获得这些值

要回答第二个查询 – 从描述中可以看出堆栈图主要用于跟踪变量到函数名称的映射.但是,请记住,当开发语言处理器和运行时时,它们确实对所提出的堆栈图原理进行了必要的添加,这使得处理变量或识别错误变得容易或有效.

希望这篇文章澄清你的怀疑

标签:python,computer-science,python-2-7,coding-style,diagram
来源: https://codeday.me/bug/20190629/1325983.html