任何人都可以解释下面的内容。与1相比,'a'是一个 内部是一个和1个ASCII val比较或它是如何 即,有一些转换发生在'a'然后进行比较或者这是怎么回事。请解释
>>> 'a' > 1
True
>>> 'a' > 'b'
False
答案 0 :(得分:1)
以字面方式比较不同类型,并且“int”是< “字符串”
在python 3.x中,它会改变它,因此不同的类型不可比较。
Bool< INT:
In [15]: True > 5
Out[15]: False
列表> INT:
In [14]: [1, 2] > 5
Out[14]: True
元组>列表:
In [16]: (1, 2) > [1, 2]
Out[16]: True
以你的例子为例: Str> INT:
In [17]: '1' > 5
Out[17]: True
依此类推。
答案 1 :(得分:0)
来自手册:
CPython实现细节:除了以外的不同类型的对象 数字按其类型名称排序;相同类型的对象 不支持正确比较的,按其地址排序。
所以“str”大于“int”