Why does 4 < '3' return True in Python 2?
问题 Why does 4 < '3' return True in Python 2? Is it because when I place single quotes around a number Python sees it as a string and strings are bigger than numbers? 回答1: Yes, any number will be less than any string (including the empty string) in Python 2. In Python 3, you can't make arbitrary comparisons. You'll get a TypeError. From the link in eryksun's comment: if (PyNumber_Check(v)) vname = ""; else vname = v->ob_type->tp_name; if (PyNumber_Check(w)) wname = ""; else wname = w->ob_type->tp