我现在正在为Python学习一个MIT开放课件类,我不明白这个函数是如何返回9的。
def a(x):
'''
x: int or float.
'''
return x + 1
a(a(a(6)))使用python导师(可视化Python),我已经一步一步地完成了这个过程,但我仍然不理解。
我明白这个功能。它有一个名称a,并接受一个参数x。如果我做了一个(6),我希望返回7。让我困惑的是a(6))--所有的a和括号。
这是怎么回事?也许是每个一个的意思的一步一步的顺序,等等。
根据你的回答,这就是你的意思吗?

发布于 2018-02-16 08:11:55
你可以把它看作
x = a(6) # returns 7
y = a(x) # returns 8
z = a(y) # returns 9在这两种情况下,函数的结果都使用für下一个函数调用,这个结果用于下一个函数调用。
第一次函数调用将6变为7,第二次函数调用为8,第三次和最后一次函数调用将8变为9。
你的问题中包含的图像准确地描述了这一点。
https://stackoverflow.com/questions/48822537
复制相似问题