【重要】获取字符串长度的几个函数

在 Python 中,获取字符串长度的主要方法是使用内置的 len() 函数。以下是详细说明和示例:

1. len() 函数

  • 最常用的方法,直接返回字符串的字符个数(包括空格和特殊字符)。
  • 时间复杂度:O(1),因为字符串在 Python 中会存储其长度。
s = "Hello, 世界"
print(len(s))  # 输出: 8(注意:中文字符也算1个长度)

2. 其他相关方法(非直接获取长度)

  • str.__len__()len() 底层调用的方法,但通常不直接使用。
    print("Hello".__len__())  # 输出: 5(不推荐直接调用)
    
  • 编码相关(如需字节长度):
    • str.encode() + len():获取字符串的字节长度(需指定编码,如 UTF-8)。
      s = "世界"
      print(len(s.encode('utf-8')))  # 输出: 6(每个中文字符占3字节)
      

3. 注意事项

  • Unicode 字符len() 返回的是 Unicode 字符数,而非字节数。例如,"世界" 的长度是 2。
  • 特殊字符:如换行符 \n 或制表符 \t 各算 1 个长度。

示例对比

s = "Python\n编程"
print(len(s))          # 输出: 8(6个字母 + \n + 2个中文字符)
print(len(s.encode())) # 输出: 12(UTF-8编码下,中文字符各占3字节)

总结

  • 标准用法:始终使用 len(str)
  • 字节长度:结合 encode()len()
  • 避免直接调用 __len__(),除非有特殊需求。

如果有其他边缘需求(如统计非空格字符等),可能需要结合循环或正则表达式实现。

posted @ 2025-07-23 14:33  nxhujiee  阅读(71)  评论(0)    收藏  举报