is 和 ==的区别
程序员文章站
2022-06-27 14:23:08
1.is 是比较 ,比较 = 两边的值 == 是比较 ,比较的是两边的内存地址 内存地址:id(变量) 2.小数据池 1.数字小数池的范围:-5~256 a = 10 a1 = 10 print(a == a1) 结果为True 2.字符串中如果有特殊字符,他们的内存地址就不一样 328831602 ......
1.is 是比较 ,比较 = 两边的值
== 是比较 ,比较的是两边的内存地址
内存地址:id(变量)
2.小数据池
1.数字小数池的范围:-5~256
a = 10
a1 = 10
print(a == a1)
结果为True
2.字符串中如果有特殊字符,他们的内存地址就不一样
a = "abc%"
a1 = "abc%"
print(a == a1)
在pycharm中结果为True,在命令提示符中结果为False
3.字符串中单个*20,则他们的内存地址一样,*20以上内存地址不一样
a = "a" * 20
a1 = "a" * 20
print(id(a))
print(id(a1))
内存地址都为556894458048
a = "a" * 20
a1 = "a" * 21
print(id(a))
print(id("a"))
结果为
328831602808
328831602880