Python如何将字符串与整数进行比较?

时间:2016-11-03 13:44:43

标签: python equality

给出以下代码:

a = '1'
if a == 1:
    print 'yes'
else:
    print 'no'

我们得到的输出为no

Python如何将字符串值与int(if a == 1)进行比较?在C中,这样的比较会产生错误,因为这是比较不同的类型。

1 个答案:

答案 0 :(得分:2)

Python不是C.与C不同,Python支持任意类型之间的相等测试。

没有'怎么'字符串不支持对整数进行相等性测试,整数不支持对字符串进行相等性测试。因此Python回退到默认的身份测试行为,但对象不是同一个对象,因此结果为False

请参阅参考文档的Value comparisons section

  

相等性比较的默认行为(==!=)基于对象的标识。因此,具有相同身份的实例的相等比较导致相等,并且具有不同身份的实例的相等性比较导致不等式。这种默认行为的动机是希望所有对象都应该是自反的(即x is y暗示x == y)。

如果你想将整数与包含数字的字符串进行比较,那么你需要将字符串转换为整数或整数字符串,然后进行比较。