我们都知道数字是能比较大小的,那么数字字符串也能比较大小吗?字母字符串呢?一起来试试吧 。
数字能比较大小,那么字符串呢?相信大家都很有兴趣来了解。那就举些例子来试试看吧:
代码语言:javascript复制
>>> '123' > '456'
False
>>> '123' < '456'
True
>>> '123' < '133'
True
>>> '123' < '124'
True
由此我们看到数字字符串是能够比较大小的,而且比较方法和数字比较一样,但是字符串又不止只有数字字符串,那其他的字符串呢?
代码语言:javascript复制
>>> 'a' < 'b'
True
>>> '12a' < '12b'
True
>>> 'd' > 'b'
True
>>> 'ab' < 'ac'
True
>>> 'b' < 'c'
True
>>>
在字符串比较中,是从第一个字符开始比较的,但是计算机怎么判断字符的大小呢?在这里不得不说说另外一个知识点ASCII码了,ASCII是字符编码标准,规定了常用符号用哪些二进制数来表示。根据ASCII表一些字符可以找到相应的十进制数。
有了ASCII表字符对应的十进制数就一目了然。但是难道我们需要将一张表都记下来吗?记性不好的小伙伴表示很绝望了。我们也不可能每次转换都要翻翻ASCII表。所以python提供了两个内置函数可以将字符转换成数字ord()或者将数字转换成字符chr()。
代码语言:javascript复制
>>> ord('f')
102
>>> chr(64)
'@'
>>> chr(65)
'A'
>>>
最后,需要提醒一下你们int()方法只能转换纯数字字符串,有时候许多人栽在了这一块。
代码语言:javascript复制
>>> int('123')
123
>>> int('123a')
Traceback (most recent call last):
File "<pyshell#13>", line 1, in <module>
int('123a')
ValueError: invalid literal for int() with base 10: '123a'
>>>