将bytes("string")
与bytes(number)
进行比较
In [212]: bytes("s","utf-8") > bytes(10000)
Out[212]: True
我尽力理解它:
In [219]: bytes("s", "utf-8"), len(bytes("s", "utf-8"))
Out[219]: (b's', 1)
In [220]: len(bytes(10**))
Out[220]: 100004
占用1000个字节的数字10 ^ 4小于“ s”需要一个字节。
我如何直观地理解它?
答案 0 :(得分:1)
字节按字典顺序排列,例如字符串,列表或元组。因此,首先比较前导元素,然后比较下两个元素,依此类推,直到一个或两个字节字符串结束。所以
bytes("s", "utf-8") > bytes("r", "utf-8")
# True
bytes("s", "utf-8") > bytes("t", "utf-8")
# False
由于bytes(10000)
使bytes
充满了0
,所以任何包含非零字节的bytes
都会比它大,就像所有{{ 1}}在字典中的出现要早于包含其他任何字符的单词。