Python内置函数ord()详解
一、核心功能解析
ord()函数是Python处理字符编码的核心工具,可将单个字符转换为对应的Unicode码点。该函数支持全球所有Unicode标准字符,包括:
- 基础ASCII字符(英文字母、数字、符号)
- 多语言字符(中文、日文、阿拉伯文等)
- 特殊符号(货币符号、数学符号等)
二、标准语法规范
参数要求: 字符类型:必须为长度1的字符串 错误示例:ord("ab") 会触发TypeError
返回值特征: 整数类型:范围从0到1114111(0x10FFFF)
三、实战代码示例
基础转换演示
print(ord('A')) # 65 print(ord('文')) # 25991 print(ord('★')) # 9733
字符排序应用
words = ['apple', 'Banana', 'cherry'] sorted_words = sorted(words, key=lambda x: ord(x[0].lower())) print(sorted_words) # ['apple', 'Banana', 'cherry']
加密算法应用示例
def simple_cipher(text, shift): return ''.join([chr(ord(char) + shift) for char in text]) print(simple_cipher("Hello", 3)) # Khoor
四、常见应用场景
- 字符编码验证
- 数据清洗中的特殊字符检测
- 自定义排序算法
- 基础加密/解密实现
- 字符集转换处理
五、开发注意事项
-
严格参数验证: if len(char) != 1: raise ValueError("需传入单个字符")
-
异常处理规范: try: print(ord('ab')) except TypeError as e: print(f"参数错误: {e}")
-
逆向操作提示: 配合chr()函数实现双向转换
六、进阶技巧
-
多字节字符处理: combined = 'é' print([ord(c) for c in combined]) # [233]
-
编码范围检测: def is_control_char(char): return 0 <= ord(char) <= 31
-
字符分类验证: def is_currency_symbol(char): return 8352 <= ord(char) <= 8427