Python3比较运算符
Python 3不支持不同数据类型之间的比较。Python3比较运算符,python,python-3.x,comparison-operators,Python,Python 3.x,Comparison Operators,Python 3不支持不同数据类型之间的比较。 1
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的结果会是什么?这是否回答了你的问题?或者