您的位置:

Python ord()函数: 将字符转换成对应的ASCII码值

一、什么是ASCII码?

ASCII(American Standard Code for Information Interchange)码是一种将每个字符与对应数字相关联的字符编码标准,包括英文字母、数字以及常用标点符号等。ASCII码共计128个,对于每一个字符,都有一个唯一的对应ASCII码。

在Python中,我们可以使用内置函数ord()将一个字符转换成对应的ASCII码值。其基本用法如下:

    code = ord('a')
    print(code)

运行结果为:

    97

这表明了字符'a'与其对应的ASCII码值为97。

二、ord()函数的应用

1. 字符串和ASCII码值的相互转换

在编写代码时,我们常常需要将字符串和ASCII码值相互转换。例如,如果要将一个字符串中的字符逐一转换成其对应的ASCII码值,并存储到一个列表中,可以使用如下代码:

    s = 'hello, world!'
    res = []
    for c in s:
        res.append(ord(c))
    print(res)

运行结果为:

    [104, 101, 108, 108, 111, 44, 32, 119, 111, 114, 108, 100, 33]

这样就把字符串'helloworld!'中每个字符的ASCII码值存储到了一个列表中。

反之,如果我们已知一个ASCII码值,要求得其对应的字符,可以使用如下代码:

    code = 65
    res = chr(code)
    print(res)

运行结果为:

    A

这说明了ASCII码值65对应的字符为'A'。

2. 字符串排序

在字符串排序中,常常需要按照ASCII码值的大小关系进行排序。例如,如果要对一个字符串列表按照ASCII码值的大小关系进行排序,可以使用如下代码:

    str_list = ['hello', 'world', 'Python', 'programming']
    str_list.sort(key=lambda x: (ord(x[0]), x))
    print(str_list)

运行结果为:

    ['Python', 'hello', 'programming', 'world']

这样就把字符串列表按照ASCII码值的大小关系进行了排序。

三、总结

ord()函数是Python中常用的一个内置函数,用于将字符转换成对应的ASCII码值。在实际编程中,我们可以通过ord()函数实现字符串和ASCII码值之间的相互转换,以及字符串排序等功能。