知行编程网知行编程网  2022-10-07 18:30 知行编程网 隐藏边栏  1 
文章评分 0 次,平均分 0.0
导语: 本文主要介绍了关于python is和==的区别有哪些的相关知识,包括cookie和session区别,以及python中round的用法这些编程知识,希望对大家有参考作用。


python is和==有什么区别


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是b,你会发现返回的结果是True,这是因为在Python中会创建一个小的整形池,范围为[-5,256 ],为这些整形开辟了一个很好的内存空间,当代码中定义了这个范围内的整形时,不会重新分配内存地址。我在 Pycharm 中测试:

#coding=utf-8
a=100000000000;
b=100000000000;
print a is b

结果:

True

在 Python 中出于性能考虑,所有不可变对象,同一代码块中的对象,只有具有相同值的对象,不会重复创建,而是直接引用现有对象。

python学习网,大量的免费
,欢迎在线学习!

本文为原创文章,版权归所有,欢迎分享本文,转载请保留出处!

知行编程网
知行编程网 关注:1    粉丝:1
这个人很懒,什么都没写
扫一扫二维码分享