首页 > 解决方案 > 有什么区别?

问题描述

string1 = "15 > 4 "
string2 = "'15' > '4'"
print(eval(string1))
print(eval(string2))
True
False

就像标题所说的那样。为什么同一个字符串有不同的值?

标签: pythonstringeval

解决方案


没有这些不同,因为第一个比较两个整数,但第二个比较字符串。

使用两个字符串中的字符执行 Python 字符串比较。两个字符串中的字符被一一比较。当找到不同的字符时,将比较它们的 Unicode 值。具有较低 Unicode 值的字符被认为是较小的。

这里ord('1')是 49 和ord('4')52,所以49 < 52我的意思是'1' < '4'这样False


推荐阅读