Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/matlab/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 我很难弄清楚这个嵌套函数是如何得到这些值的。有人能给我解释一下吗。顺便说一句,代码是有效的_Python_Function_Nested - Fatal编程技术网

Python 我很难弄清楚这个嵌套函数是如何得到这些值的。有人能给我解释一下吗。顺便说一句,代码是有效的

Python 我很难弄清楚这个嵌套函数是如何得到这些值的。有人能给我解释一下吗。顺便说一句,代码是有效的,python,function,nested,Python,Function,Nested,我很难弄清楚这是怎么回事。有人能给我解释一下吗。顺便说一句,代码是有效的 def foo(x,y): 要理解代码是如何工作的,只需遵循函数即可 调用foo。由于integer类型在foo(x,y)x和y中是()的,因此x和y是您作为参数给出的x的副本 在python中,表达式从左到右求值 调用第一个函数hoo(关于参数的相同注释)改变x和y的值,并计算z,得到('x=',5',;y=',6',;z=',11),然后返回值z(11) 一旦超出hoo功能x和y在该级别分别为10和20,因为它们没有改

我很难弄清楚这是怎么回事。有人能给我解释一下吗。顺便说一句,代码是有效的

def foo(x,y):


要理解代码是如何工作的,只需遵循函数即可

调用
foo
。由于
integer
类型在
foo(x,y)
x
y
中是()的,因此
x
y
是您作为参数给出的
x的副本

在python中,表达式从左到右求值

调用第一个函数
hoo
(关于参数的相同注释)
改变
x
y
的值,并计算
z
,得到
('x=',5',;y=',6',;z=',11)
,然后返回值
z
(11)

一旦超出
hoo
功能
x
y
在该级别分别为10和20,因为它们没有改变(不变的东西…见上文)。然后调用函数
goo
。(关于参数的注释相同)(警告您为
goo
的参数
x
输入
y
,为
goo
的参数
y
输入
y
)将更改
x
y
的值,并计算
z
,得到('x=',40',y=',30',z=',70)和
z
(70)返回

一旦超出
goo
功能
x
y
这个级别,它们分别是10和20,因为它们没有改变(不变的东西…见上文)

通过
hoo
goo
返回的两个值之间的求和函数完成。
z
=11+70。得到('x=',10',;y=',20',;z=',81),然后返回z

然后在
foo
函数之外。这个级别的
x
y
分别是10和20,因为它们没有改变(不变的东西…见上文)。z被赋予返回函数
foo
的值,因此
z
=81


你会得到('x=',10',y=',20',z=',81)

请正确设置代码格式,并阅读以下关于如何提问的指南:
def goo(x, y):

    x = 2*x

    y = 3*y

    z = x+y

    print('x =', x, '; y =', y, '; z =', z)

    return z


def hoo(x, y):

    x = x//2

    y = y//3

    z = x+y

    print('x =', x, '; y =', y, '; z =', z)

    return z


z = hoo(x,y) + goo(y,x)

print('x =', x, '; y =', y, '; z =', z)

return z


x = 10

y = 20

z = 30

print('x =', x, '; y =', y, '; z =', z)

z = foo(x,y)

print('x =', x, '; y =', y, '; z =', z)