Python:为什么相等将int与字符串进行比较不会引发错误?


问题内容

在Python 3中,尝试对字符串和int进行排序(例如1 > "1")会引发TypeError。为什么将字符串与int进行相等性比较不会引发错误?(eg
1=="1")比较一个字符串和一个int有意义的例子是什么?为什么JavaScript和SQL采用不同的方法?

相关: Python如何比较字符串和整数?


问题答案:

例如,这使您可以拥有包含混合类型键的字典。

如果您无法比较1并且"1"为了相等,您将无法将它们用作同一词典的键。

就目前而言,您可以比较它们,而它们总是比较不平等

这些对象不必具有相同的类型。如果两者都是数字,则它们将转换为通用类型。否则,不同类型的对象总是比较不相等,并且被一致地,任意地排序。