day2
阅读目录 上节拾遗 二进制 字符编码 基本数据类型 回到顶部 上节拾遗 变 量的创建与id 例1:name = 'oldboy' 首先,当我们定义了一个变量name = ‘oldboy’的时候,在内存中其实是做了这样一件事: 程序开辟了一块内存空间,将‘oldboy’存储进去,再让变量名name指向‘oldboy’所在的内存地址。如下图所示: 例 2:两个变量名一个值 提问:当我执行下面这段代码的时候,程序是怎么处理的呢? name1 = 'oldboy' name2 = 'oldboy' 我们猜想会有两种可能: 第一种情况:程序分别在内存中开辟了两块儿空间来存储‘oldboy’这个值,并且让name1和name2指向这两个值。如下左图 第二种情况:由于两个值内容一致,所以程序只开辟一块儿空间存储‘oldboy’,并让name1和name2只想着个值。如下右图 提问:大家来猜测一下会是哪种情况? 其实上面的两种猜想都是对的。正常情况下字符串在内存里就是如我们猜想的第一种情况一样,每一次创建一个变量都会在内存中申请一块儿空间。 但是,python认为一些“看起来像python标识符的字符”和小整数字在开发中是常用的,因此出于节省内存的角度思考,对于这部分字符串和数字做出了优化[-5,257)