伪知识之通俗易懂得解释python中的内存地址的作用持续更新:【内向即低能--沈吟秋】

内容并不完全靠谱,仅供参考

为了更加高效的复用数据,会将暂时性的数据存储在内存中,方便之后需要数据时直接从内存中提取出来使用。那么问题来了,如何从内存空间中找到自己需要的数据呢

,python中就是利用内存地址来获得内存空间中存储的指定性数据

我们可以把python中的赋值语句理解为是标签指向动作

所以a=1000 在python的编译器中处理的时候是这样执行的,将1000这个数据放入内存中,并且附加上内存地址,然后将a这个标签(变量)指向这个内存地址中。

这个概念就是所谓的c中的指针

excel=100000
print(id(excel),'我是全局变量excel')
def test():
    excel=30
    print(id(excel),'我是局部变量excel')
    java=excel
    print(id(java),'我是java')
    java+=30
    print(id(java),'我是java+')
    print(id(excel),'我是局部变量excel')
test()
JavaScript=20
print(id(JavaScript),'我是JavaScript')
php=40
print(id(php),'我是php')
print(id(excel),'我是全局变量excel')

Res:

2269329328368 我是全局变量excel

1920345712 我是局部变量excel

1920345712 我是java

1920346672 我是java+

1920345712 我是局部变量excel

1920345392 我是JavaScript

1920346032 我是php

2269329328368 我是全局变量excel

另外要注意的是python中一旦程序执行完毕会自动销毁内存,也就是说内存地址将不复存在,此时再一次执行时将会将变量指向新的内存地址。

但是python系统中规定有一部分小整数是有一个固定地址的。至于原因,不需要重复创建内存地址,肯定是减少了内存资源的开销
 

猜你喜欢

转载自blog.csdn.net/qq_37995231/article/details/82819450