def func(t):
t = 5
print('inside function', t)
print('inside function address = ', id(hex(t)))
x = 3
func(x)
print('outside function',x)
print('outside function address = ', id(hex(x)))
这打印
inside function 5
inside function address = 31255648
outside function 3
outside function address = 31255648
我的理解是在没有赋值的函数中引用的变量将使用其范围之外的变量。但是如果函数有赋值,那么它会在内存的新空间中创建一个新变量并在那里赋值。
为什么函数 id 找到的是参数的原始地址而不是新创建的变量的地址?
森林海
噜噜哒
相关分类