is Python · 关键字
判断两个名字是不是指向同一个对象,像判断两个照片是不是同一个人,不看两个长得像不像,而是看身份证能否对得上。
怎么用
a is b
小例子
a = [1, 2, 3] b = [1, 2, 3] c = a print(a == b) # True,因为值相等(长得像) print(a is b) # False,因为不是同一个对象(两张身份证,不同的人) print(a is c) # True,因为 c 和 a 指向同一个对象(同一个人)
运行结果
这里 a 和 b 虽然内容一样,但它们是两个独立的列表,内存地址不同,所以 a is b 为 False。而 c = a 让 c 和 a 指向同一个列表,所以 a is c 为 True。
提醒:Python 对小的整数(-5 到 256)和某些字符串有缓存机制,所以有时 is 对它们可能返回 True,但这属于实现细节,不建议依赖 is 来判断值是否相等。值比较请用 ==,记住is 看身份,== 看长相
官方文档:https://docs.python.org/zh-cn/3/reference/expressions.html#is
在代码里遇到不认识的词?打开代码点读机,点一下就懂 → ← Python全部词条