27 lines
661 B
Markdown
27 lines
661 B
Markdown
---
|
|
title: Difference between Python 'is' and '==' operators
|
|
localeTitle: Python'是'和'=='运算符之间的区别
|
|
---
|
|
`is`是检查对象标识 - 即检查两个或多个变量是否指向同一个对象。你不能超载`is` 。
|
|
|
|
如果变量引用的对象相等,则`==`计算结果为true。您可以通过`__eq__`运算符重载`==` 。
|
|
|
|
## 回报价值
|
|
|
|
两者的返回值可以是`True`或`False` 。
|
|
|
|
## 代码示例
|
|
```
|
|
a = 2.3
|
|
a is 2.3 # => False
|
|
a == 2.3 # => True
|
|
|
|
a = [234,123,321]
|
|
b = [234,123,321]
|
|
a == b # => True
|
|
a is b # => False
|
|
a = b
|
|
a == b # => True
|
|
a is b # => True, because if we change a, b changes too
|
|
|
|
``` |