pyhon中的内存优化机制

一、变量的内存地址

python中变量的内存地址可以用id()来查看

>>> a = "123"
>>> id(a)
2502558915696

二、pyhon中的内存优化机制

python认为一些“看起来像python标识符的字符”和小整数字在开发中是常用的;

因此,出于节省内存的角度思考,对于这部分字符串和数字做出了优化;

python解释器会由于要定义的新变量内容与之前定义过的变量内容相同而不让这部分内容占用新的内存空间。

1、对于[-5,257)范围内的数字有优化机制:

>>> a = -5
>>> b = -5
>>> id(a)
1608351664
>>> id(b)
1608351664

对于[-5,257)范围外的数字没有优化机制:

>>> a = 257
>>> b = 257
>>> id(a)
2502556623984
>>> id(b)
2502558182288

2、短字符串有优化机制:

>>> a = "abc"
>>> b = "abc"
>>> id(a)
2502557973560
>>> id(b)
2502557973560

长字符串没有优化机制:

>>> a = "Hello World, I'm here."
>>> b = "Hello World, I'm here."
>>> id(a)
2502558942240
>>> id(b)
2502558942096

 

posted @ 2019-06-01 21:29  relex  阅读(219)  评论(0编辑  收藏  举报