python is和==的区别有哪些
发布时间:2025-03-14 17:50:02
is 与 == 区别:
is 判断两个变量引用对象是否相同, == 用于判断引用变量值是否相等。
a is b 相当于 id(a)==id(b),id() 获取对象的内存地址。
如果 a=10;b=a; 则此时 a 和 b 内存地址相同;
但当 a=[1,2,3]; 另 b=a[:] 时,虽然 a 和 b 值相同,但内存地址不同。
若此时定义 a=10、b=10, 然后再对比 a is b 会发现返回的结果是 True,这是因为在 Python 创建一个范围为的小型整形池 [-5,256]为这些整形手术开辟了良好的内存空间。当代码中定义该范围内的整形手术时,内存地址将不再重新分配。我在那里 Pycharm 测试:中期测试:
#coding=utf-8 a=100000000000; b=100000000000; printaisb
结果:
True
出于对性能的考虑,Python不会重复创建任何不可变对象,而是直接引用同一代码块中存在的对象,只有值相同的对象。
python学习网,大量免费python视频教程,欢迎在线学习!
下一篇 python怎么连接telnet