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

Python ord()函数教程:获取字符的ASCII码值 | Python编程指南

Python ord()函数:获取字符的ASCII码值

深入理解Python中ord()函数的工作原理及实际应用

什么是ord()函数?

Python内置的ord()函数用于返回表示单个Unicode字符的整数(码点)。对于ASCII字符,这个整数就是字符的ASCII码值。

该函数的基本语法非常简单:

ord(character)

其中character是一个长度为1的字符串(单个字符)。

ord()函数的基本用法

下面是一些基本示例,展示如何使用ord()函数获取字符的ASCII码值:

示例1:获取字母的ASCII码

# 大写字母
print(ord('A'))  # 输出: 65

# 小写字母
print(ord('a'))  # 输出: 97

示例2:获取数字字符的ASCII码

print(ord('0'))  # 输出: 48
print(ord('5'))  # 输出: 53
print(ord('9'))  # 输出: 57

示例3:获取特殊字符的ASCII码

print(ord('@'))  # 输出: 64
print(ord('#'))  # 输出: 35
print(ord('$'))  # 输出: 36
print(ord(' '))  # 空格字符,输出: 32
print(ord('\n')) # 换行符,输出: 10

ord()函数的实际应用

ord()函数在编程中有多种实际用途:

1. 字符分类

def char_type(c):
    code = ord(c)
    if 65 <= code <= 90:
        return "大写字母"
    elif 97 <= code <= 122:
        return "小写字母"
    elif 48 <= code <= 57:
        return "数字"
    else:
        return "其他字符"

print(char_type('B'))  # 大写字母
print(char_type('g'))  # 小写字母
print(char_type('7'))  # 数字
print(char_type('!'))  # 其他字符

2. 简单的加密算法

def simple_encrypt(text, shift):
    result = ""
    for char in text:
        # 获取字符的ASCII码
        code = ord(char)
        # 应用移位
        encrypted_char = chr(code + shift)
        result += encrypted_char
    return result

original = "Hello, World!"
encrypted = simple_encrypt(original, 3)
print(f"原始文本: {original}")
print(f"加密文本: {encrypted}")

3. 字符转换

def to_uppercase(char):
    # 检查是否为小写字母 (97-122)
    code = ord(char)
    if 97 <= code <= 122:
        # 转换为大写字母 (减去32)
        return chr(code - 32)
    return char

print(to_uppercase('a'))  # 输出: 'A'
print(to_uppercase('Z'))  # 输出: 'Z' (不变)
print(to_uppercase('5'))  # 输出: '5' (不变)

注意事项

  • ord()函数只接受单个字符作为参数,传入多个字符会导致TypeError
  • ord()函数支持Unicode字符,而不仅仅是ASCII字符
  • 与ord()对应的函数是chr(),它将整数转换为对应的字符
  • ASCII码范围:0-127(标准ASCII),128-255(扩展ASCII)

错误处理示例

try:
    # 尝试传入多个字符
    print(ord('abc'))
except TypeError as e:
    print(f"错误: {e}")  # 输出: ord() expected a character, but string of length 3 found

总结

ord()函数是Python中处理字符编码的基础工具:

  • 用于获取字符的Unicode码点(对ASCII字符就是ASCII码值)
  • 在文本处理、加密算法和字符转换中有广泛应用
  • 与chr()函数配合使用可实现字符和整数之间的相互转换
  • 理解ASCII码表有助于更好地利用ord()函数

掌握ord()函数是学习Python文本处理和编码知识的重要一步。

发表评论