python 判定相等
时间: 2024-06-06 22:04:49 浏览: 24
在 Python 中,判定两个值是否相等通常使用 `==` 运算符。当比较的是基本数据类型,如整数、浮点数或字符串时,`==` 将检查它们的值是否完全一致。例如:
```python
a = 5
b = 5
print(a == b) # 输出:True
x = 3.14
y = 3.140
print(x == y) # 输出:False,因为浮点数有精度问题
str1 = "hello"
str2 = "hello"
print(str1 == str2) # 输出:True,字符串比较内容
```
对于复杂的类型,如列表、字典或自定义对象(类的实例),比较通常是基于对象的身份,即它们是否是同一个内存地址,除非你显式地定义了 `__eq__` 方法进行比较。如果你想要基于内容而非对象本身比较,可以复写 `__eq__` 或 `==` 方法。
```python
class CustomObject:
def __init__(self, value):
self.value = value
# 如果没有重写 __eq__,两个对象即使值相同也视为不等
obj1 = CustomObject(5)
obj2 = CustomObject(5)
print(obj1 == obj2) # 输出:False,基于对象地址
# 你可以重写 __eq__ 方法来实现按值比较
def __eq__(self, other):
return self.value == other.value
obj1 = CustomObject(5)
obj2 = CustomObject(5)
print(obj1 == obj2) # 输出:True,现在基于值比较
```
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)