当前位置: 首页 > 面试题库 >

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

闻法
2023-03-14
问题内容

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

考虑以下代码

def foo():
    y = 5
    return y

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

x = foo()

x绑定整数对象5

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

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


问题答案:

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传回给调用者。



 类似资料:
  • 问题内容: 我试图更好地理解以下python代码以及作者为什么在返回中使用“ AND”语句。 进一步的代码… 我尝试检查返回给调用方的结果对象,但是我仍然不完全了解它是如何工作的。 似乎这将密码返回给调用者,并返回一个布尔值,表明密码是否有效,但是我不明白调用函数如何检查对象的布尔值?这是我错过的关于Python的基本知识吗? 在该示例旁边还有另一个类似用法的示例,但是它使用“或”语句,对我而言,

  • 问题内容: 什么是语句的简单基本解释是什么,如何在中使用它? 它和语句之间有什么区别? 问题答案: 该函数在控制台中写入一个字符串,即“打印”。该语句使您的函数退出并将值返回给其调用者。通常,功能的要点是接受输入并返回某些内容。当函数准备向其调用者返回值时使用该语句。 例如,这是一个同时使用和的函数: 现在,您可以运行调用的代码,如下所示: 如果将其作为脚本(例如.py文件)而不是在Python解

  • 如果我们假设有如下所示的XML,那么match=“/”究竟返回什么?据我所知,它返回了一个虚构的顶级节点,它具有<代码> 测验xml

  • 问题内容: 我编写了一个打印表格的程序。我没有在主函数中包含返回语法,但是无论何时我键入echo $?它显示12。 我的源代码: 我尚未编写return 12,但每次执行程序时它仍返回12。 谢谢。 问题答案: 正如swegi所说,这是未定义的行为。 正如史蒂夫·杰索普(Steve Jessop)等人所说,在C89之前,它是一个未指定的值,并在C99中指定(观察到的行为与C99不符)。 在大多数环

  • 问题内容: 您好,我是python的新手,想知道您是否可以帮我一些忙。我一直在玩这段代码,似乎无法使其正常工作。 现在,isPrime方法的输出如下: 我确定该函数应返回true,然后应打印“是”。我想念什么吗? 问题答案: 您将放弃递归调用的返回值: 您也想传播递归调用的值,包括一条语句: 现在,您的代码将输出:

  • 我做了一点实验,发生了一些我认为没有预料到的事情。这个问题是基于递归和第7行注释的返回语句 我的问题是,在使用示例输入“1 9 11 5 6”的测试期间,如果我有返回语句。输出仅为“值1 9 11总计21”,但如果没有return语句,输出为“值1 9 11总计21,值1 9 5 6总计21”。我想知道是否有什么可以解释为什么,我认为return语句会简单地“加速”结束这个方法的递归实例,而不是简