当前位置:首页 > Python > 正文

Python ord函数详解(小白也能轻松掌握字符转ASCII码的技巧)

在Python编程中,我们经常会遇到需要将字符转换为其对应的数字编码的情况。这时,ord() 函数就派上用场了!本文将带你从零开始,全面了解 Python ord函数 的作用、用法和实际应用场景,即使是编程小白也能轻松上手。

什么是 ord() 函数?

ord() 是 Python 的一个内置函数,它的作用是:接收一个长度为1的字符串(即单个字符),并返回该字符在 Unicode 编码表(对于 ASCII 字符来说就是 ASCII 码)中对应的整数。

Python ord函数详解(小白也能轻松掌握字符转ASCII码的技巧) ord函数 字符转ASCII码 Python内置函数 字符串处理 第1张

基本语法

使用 ord() 非常简单,其语法如下:

ord(c)

其中,c 必须是一个长度为1的字符串。如果传入空字符串或多个字符,Python 会抛出 TypeError 异常。

实战示例

让我们通过几个简单的例子来理解 ord函数 的工作方式:

# 示例1:获取大写字母 'A' 的 ASCII 码print(ord('A'))  # 输出: 65# 示例2:获取小写字母 'a' 的 ASCII 码print(ord('a'))  # 输出: 97# 示例3:获取数字字符 '0' 的 ASCII 码print(ord('0'))  # 输出: 48# 示例4:获取特殊符号 '!' 的 ASCII 码print(ord('!'))  # 输出: 33

可以看到,每个字符都有其唯一的数字编码。这也是计算机内部存储和处理字符的基础原理之一。

常见错误与注意事项

使用 ord() 时要注意以下几点:

  • 只能传入单个字符:传入空字符串 '' 或多个字符如 'AB' 会报错。
  • 支持 Unicode 字符:不仅限于 ASCII,中文、表情符号等也可以使用 ord() 获取其 Unicode 编码。
# 错误示例:传入多个字符# print(ord('AB'))  # 报错:TypeError: ord() expected a character, but string of length 2 found# 正确使用 Unicode 字符print(ord('中'))   # 输出: 20013print(ord('😊'))   # 输出: 128522

ord() 与 chr() 的关系

ord()chr() 是一对“互逆”函数:

  • ord(char):字符 → 数字
  • chr(num):数字 → 字符
# 互逆验证char = 'K'code = ord(char)print(f"'{char}' 的编码是 {code}")  # 输出: 'K' 的编码是 75original_char = chr(code)print(f"{code} 对应的字符是 '{original_char}'")  # 输出: 75 对应的字符是 'K'

实际应用场景

掌握 字符串处理 中的 ord() 函数,可以在以下场景中大显身手:

  • 密码学中的简单字符移位加密(如凯撒密码)
  • 校验字符类型(如判断是否为数字、大写字母等)
  • 自定义排序规则
# 简单凯撒密码加密示例(向后移3位)def caesar_encrypt(text, shift=3):    encrypted = ''    for char in text:        if char.isalpha():            base = ord('A') if char.isupper() else ord('a')            encrypted += chr((ord(char) - base + shift) % 26 + base)        else:            encrypted += char    return encryptedprint(caesar_encrypt("Hello!"))  # 输出: Khoor!

总结

ord() 是 Python 中非常实用的内置函数,它帮助我们将字符转换为对应的数字编码,在 字符转ASCII码、Unicode 处理、加密算法等领域有广泛应用。只要记住它只接受单个字符,就能避免常见错误。

希望这篇教程能让你彻底掌握 Python ord函数 的使用方法!如果你觉得有用,不妨动手试试文中的代码,加深理解。

关键词回顾:Python ord函数字符转ASCII码Python内置函数字符串处理