Python:为什么相等将int与字符串进行比较不会引发错误?
问题内容:
在Python 3中,尝试对字符串和int进行排序(例如1 > "1"
)会引发TypeError。为什么将字符串与int进行相等性比较不会引发错误?(eg
1=="1"
)比较一个字符串和一个int有意义的例子是什么?为什么JavaScript和SQL采用不同的方法?
问题答案:
例如,这使您可以拥有包含混合类型键的字典。
如果您无法比较1
并且"1"
为了相等,您将无法将它们用作同一词典的键。
就目前而言,您可以比较它们,而它们总是比较不平等:
这些对象不必具有相同的类型。如果两者都是数字,则它们将转换为通用类型。否则,不同类型的对象总是比较不相等,并且被一致地,任意地排序。