老师 ,这种是偶然情况吗

来源:5-12 如何判断变量的值、身份与类型

qq_四月是你的谎言喽_03448132

2018-02-09

http://img.mukewang.com/szimg/5a7d1c190001b2cd01530059.jpg

写回答

2回答

7七月

2018-02-09

理论上来说,python都是对象,创建任意的int、string、tuple都会创建一个新的对象,id是不相同的。但是出于内存和效率的考虑:从-5到256 这些小整数会实现一个小整数池,这个范围内的整数都会实现内存复用。超过这个范围的整数不会。而float类型、tuple则不会,每次都会生成一个新的内存地址。string比较特殊,python有一种机制叫做intern,这个机制保证相同的字符串也只创建一次。至于这个set,我试了好几次也都是不同的地址。

1
0

慕仙7708394

2018-02-09

因为上一个{1,2,3}参与了下一步的运算,所以被赋予了新的id,因为没看见你所有的代码 所以可能也不是很容易说明白//img.mukewang.com/szimg/5a7d52e900010ad002980600.jpg你看这里的当定义了a和b之后,因为二者都参与了一个运算 所以id位置被重新定义了

0
0

Python3.8系统入门+进阶 (程序员必备第二语言)

语法精讲/配套练习+思考题/原生爬虫实战

14732 学习 · 4484 问题

查看课程