python - python 对象与不同的 id 相等
问题描述
我试图理解字符串比较,因为我经历了整数比较或字符比较,其中 python 比较内存中对象的 id。
如果是,那么句子比较的方式是否相同,然后下面的结果对象ID不同但结果为True
a = "The Security Challenges Posed By 'Megxit'"
b = "The Security Challenges Posed By 'Megxit'"
print(id(a))
print(id(b))
print(a == b)
140133147022320
140133147021936
True
解决方案
==
用于相等比较(不是身份比较)。要比较身份(即 ID),您可以使用is
:
a = "The Security Challenges Posed By 'Megxit'"
b = "The Security Challenges Posed By 'Megxit'"
print(a == b) # True
print(a is b) # False
推荐阅读
- c++ - 为什么在 pop_back() 操作之后它仍然打印完整的向量?
- python - 仅当数据框中的缺失值介于两个相同值之间时才填充缺失值
- database - 如何将 MariaDB 迁移到 Aurora
- node.js - 如何获取由 Node.js 中的 firebase 实时数据库填充的下拉(组合框)值?
- python - 如何使用自定义函数作为 Django autocomplete_fields
- java - 无法从 javax.ws.rs.client.WebTarget 找到内容类型 */* 的 MessageBodyReader
- powerbi - 计算列中的第二大值
- r - 在 R 中集成函数与 truncdist 的“奇怪”行为
- embedded - SIM800l Httpaction。无法获得 0,200 或 0,200
- macos - SwiftUI macOS currencyFormatter 不更新绑定变量