Python 如何将字符串转换为小写字母

15 阅读1分钟

在 Python 中,可以通过多种方式将字符串中的大写字母转换为小写字母。以下是几种常用的方法:

一、使用内置方法 lower()(最简单)

Python 字符串对象自带 lower() 方法,可直接将所有大写字母转换为小写,其他字符保持不变。

示例代码

s = "Hello, WORLD!"
result = s.lower()
print(result)  # 输出: "hello, world!"

二、手动遍历 + ASCII 码转换

可以遍历字符串中的每个字符,利用 ASCII 码值(ord()chr())手动转换大写字母(A-Z 的 ASCII 范围是 65-90)。

示例代码

s = "Hello, WORLD!"
result = ""
for char in s:
    if 65 <= ord(char) <= 90:  # 检查是否为大写字母
        result += chr(ord(char) + 32)  # 大写转小写(ASCII 差值为 32)
    else:
        result += char
print(result)  # 输出: "hello, world!"

三、使用 str.translate()(性能优化)

通过 str.maketrans() 创建转换表,再用 translate() 方法批量替换字符,适合处理大量文本。

示例代码

s = "Hello, WORLD!"
# 创建转换表:将 A-Z 映射到 a-z
trans_table = str.maketrans('ABCDEFGHIJKLMNOPQRSTUVWXYZ', 
                           'abcdefghijklmnopqrstuvwxyz')
result = s.translate(trans_table)
print(result)  # 输出: "hello, world!"

四、使用列表推导式(简洁写法)

结合 chr()ord(),用列表推导式生成新字符串。

示例代码

s = "Hello, WORLD!"
result = ''.join(
    chr(ord(c) + 32) if 'A' <= c <= 'Z' else c
    for c in s
)
print(result)  # 输出: "hello, world!"

总结

方法优点适用场景
s.lower()简洁、高效日常开发(推荐)
手动 ASCII 转换灵活控制转换规则自定义转换逻辑
str.translate()高性能处理大量文本
列表推导式一行代码实现追求代码简洁性