gpt4 book ai didi

python - python函数如何返回对象?

转载 作者:太空狗 更新时间:2023-10-29 20:54:08 29 4
gpt4 key购买 nike

在下图中,我查询了从函数 f 返回的名称 temp

enter image description here

在局部框架f中,temp是一个引用变量,指向int类的对象6,当你在 f 中说 return temp 时,作为 checkPassingMech 框架一部分的引用变量 output 将指向相同的temp 指向的对象 6

我的问题:

Q1)我的理解是否正确?

Q2) 如果 Q1 是,那么这张图给人一种错觉,即 temp 不是引用类型,并在框中显示其值而不是用指向 6 的箭头,我说得对吗?

Q3) 如果 Q2 是,那么,我可以说 6 实际上存储在堆中,tempoutput 将指向从框架(本地堆栈)到这个堆空间

最佳答案

>>> def f():
temp = 6
print(id(temp))
return temp

>>> output = f()
507107408
>>> id(output)
507107408

来自 doc :

CPython implementation detail: For CPython, id(x) is the memory address where x is stored.

所以严格来说,如果这个值是6,那么outputtemp其实是指向同一个对象,是一个int python启动时缓存的对象。

您可以引用identifying objects, why does the returned value from id(...) change?了解更多信息。

关于python - python函数如何返回对象?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22896094/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com