关于5-12课的问题

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

HJM_95

2020-05-17

为什么a=1,b=1,a和b的地址相同。a="hello",c="hello",a和c的地址也相同,到集合那里,就算改成a={1,2,3},b={1,2,3}地址也不相同呢?这与可变类型和不可变类型有什么关系?

写回答

4回答

7七月

2020-05-19

https://zhidao.baidu.com/question/179519267191712364.html

0
1
HJM_95
明白了,谢谢老师
2020-05-19
共1条回复

lain01001

2024-11-03

a = 2
b = 2
c = b
a is c
True

k = 2.5
q = 2.5
x = q
k is x
False

用id( ),去测试会发现python做了个优化,当str中只有字母或数字时(不能有" ","&"等符号)与只有数字时,内存地址会为同一
个地址。其他类型的话,则都会给出不同的内存地址。


0
0

7七月

2020-05-18

有个小整数池的概率可以搜索了解下

0
1
HJM_95
那两个hello的地址为什么也一样呢?
2020-05-19
共1条回复

HJM_95

提问者

2020-05-17

是不是可以理解为不可变类型定义了相同的值都采取引用的方法节省内存,可变类型每次定义都重新分配地址。

0
1
慕工程8176647
但是不可变类型,元组,a(1,2,3)和b(1,2,3) 内存地址也是不一样的
2021-11-25
共1条回复

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

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

14447 学习 · 4438 问题

查看课程