is和==的关系

Python中is和==的关系

is判断两个变量是不是指的是同一个内存地址,也就是通过id()函数判断

==判断两个变量的值是不是相同

python 复制代码
a = [1, 2, 3, 4]
b = [1, 2, 3, 4]
print(id(a))		# 2298268712768
print(id(b))		# 2298269716992
print(a is b)		# False
print(a == b)		# True

这里有一种特殊情况:

python 复制代码
a = 1
b = 1
print(id(a))	# 140705217569576
print(id(b))	# 140705217569576
print(a is b)	# True
print(a == b)	# True

原理是:当我们已有个变量是小整数或小段的字符串,再次建立相同的小整数或小字符串时,python不会重新开辟一个内存空间,而是用指针将这个变量指向我们已经创建的内存空间,这个属于python内部的优化机制

相关推荐
许彰午1 小时前
95_Python内存管理与垃圾回收
开发语言·python
多加点辣也没关系1 小时前
JavaScript|第13章:原始类型的方法
开发语言·javascript·ecmascript
এ慕ོ冬℘゜1 小时前
深入理解 JavaScript 事件体系:Window、鼠标与键盘事件详解
开发语言·javascript·okhttp
骄阳如火2 小时前
Python 性能深度剖析:从“被诟病的慢”到“Rust 重塑”的拐点
python
满怀冰雪2 小时前
03-第一个 Paddle 程序:Tensor 创建、计算与设备管理
人工智能·python·paddle
CClaris2 小时前
大模型量化从0到1(九):用 llama.cpp 把模型转成 GGUF 并跑本地推理
人工智能·pytorch·python·深度学习·llama
学编程的小虎2 小时前
SenseVoice微调
人工智能·python·自然语言处理
诸葛说抛光3 小时前
国内大型汽车改装展览会定展 佛山改装 佛山汽车赛事
python·汽车
chouchuang3 小时前
day-030-综合练习-笔记管理器
开发语言·笔记·python
乖巧的妹子3 小时前
Python基础核心知识点详解:内置函数、运算符、字符串方法、数据结构与类型转换
python