在python中删除返回的变量

我正在为 python 编写代码,我想知道是否可以按照以下方式做一些事情:


def Theoretical_Function(Variable):

    print(Variable)

    newvarcontainer = Variable

    return newvarcontainer

    #del newvarcontainer

也就是删除返回的变量,但仍然从函数中返回它


红糖糍粑
浏览 116回答 1
1回答

阿波罗的战车

每个定义的函数都有自己的命名空间。当您退出函数(使用返回语句)时,命名空间将被垃圾收集,并且不会执行该函数的其他语句。def func(a):  print(a)  b = a  #the return statement exits the function  return b  #the following statements will NOT be executed  a, b = 1,2  a, b = b+1, 5#We call the functiony = func(1)#Now y is 1#You cen del y and it will become inaccessibledel y#This will throw an error:print(y)Python 在内部使用引用。当声明y = 1被执行时,Python 解释器为值 1 保留内存。然后它将引用分配给 1 的内存位置。当您分配另一个变量时c = 1它会将相同的引用分配给 c。您可以使用 id 函数验证这一点。>>> id(c)1234567>>> id(y)1234567id(c) 和 id(y) 将返回相同的值,这意味着它们指向内存中的相同位置。如您所见,python 解释器将只在内存中存储一次不可变值。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python