Python3比较运算符

Python3比较运算符,python,python-3.x,comparison-operators,Python,Python 3.x,Comparison Operators,Python 3不支持不同数据类型之间的比较。 1

Python 3不支持不同数据类型之间的比较。
1<'1'
将在以下情况下执行:

`TypeError: '<' not supported between instances of 'float' and 'str'`

`TypeError:'因为检查某个东西是否等于其他东西(或者是其他东西)是有意义的,即使它们不是同一类型。但是,如果“数量”不属于同一类型,那么检查哪个“数量”更大就没有多大意义,因为“数量”可能以不同的方式为每种类型定义(换句话说,“数量”可能度量对象的不同质量)

一个非编码的例子:苹果显然不能与橘子相配。然而,如果我们将苹果的“数量”定义为它的“红色”,将桔子的“数量”定义为它的“味道”,那么我们就无法检查苹果是否比桔子更红<代码>>
将尝试比较这些对象的不同质量

返回代码: 很明显,
4
不是(或不等于)列表
[4]
。但是像
4>[4]
这样的支票有什么意义呢?列表中的整数“小”或“大”是什么意思?

来自文档:

相等比较(=和!=)的默认行为基于 对象的标识。因此,需要对实例进行平等比较 具有相同的同一性导致平等,并且平等比较 具有不同身份的实例会导致不平等。A. 这种默认行为的动机是希望所有对象 应该是自反的(即x是y意味着x==y)


有时我们想知道两个变量是否相同,这意味着它们指的是同一个对象,例如
真是真
将返回
,但另一方面
真是真
返回
,因此
返回
(我没有提供使用is操作符的最佳用例,本例将在Python3.8+中提出一个
SyntaxWarning
,但这是主要思想)

不同类型的相等总是会产生
False
。因为对象的类型不同,它们显然不可能相等。但是你如何比较不同的类型?156的结果会是什么?这是否回答了你的问题?或者