一尘不染

python的return语句实际上返回什么?

python

我想知道我们如何获得函数返回的值-python return语句实际返回的内容。

考虑以下代码:

def foo():
    y = 5
    return y

调用时foo(),我们获得了价值5

x = foo()

x绑定整数对象5

这是什么意思?return语句实际上在这里返回什么?该int对象5?还是变量名y?还是绑定到对象5?或者是其他东西?

我们如何获得return语句返回的值?


阅读 300

收藏
2021-01-20

共1个答案

一尘不染

x绑定整数对象5。

是的,x是一个持有对整数对象5的引用的变量,该对象y也持有对该整数对象的引用。

return语句实际上在这里返回什么?int对象5?还是变量名y?还是绑定到对象5?或者是其他东西?

确切地说,它是对返回整数对象5的 引用 。例如,看一下这个:

In [1]: def foo():
   ...:     y = 5
   ...:     print(id(y))
   ...:     return y
   ...:

In [2]: x = foo()
4297370816

In [3]: id(x)
Out[3]: 4297370816

我们如何获得return语句返回的值?

通过访问 参考return传回给调用者。

2021-01-20