国际访客建议访问 Primers 编程伙伴 国际版站点 > Python 教程 > str 以获得更好的体验。

# Python 的内置函数 str

请查看 Python 内建函数列表 了解更多相关 API。

说明:类型转换为 str

# 函数说明

class str(x=''):
    '''
    类型转换为 str

    :param x: 一个变量
    :return: 转换为 str 后的值
    '''

!subtitle:说明

通过调用对象的 __str__ 方法,将一个变量转换为字符串。

如果对象没有 __str__ 方法,则调用 __repr__ 方法。

!subtitle:参数

  • x - 要转换的变量,默认为一个空字符串

!subtitle:返回值

转换为 str 后的值。


class str(x:bytes=b'', encoding='utf-8', errors='strict'):
    '''
    将一个 bytes 转换为字符串

    :param x: 一个 bytes 类型的变量
    :param encoding: 编码,默认为 UTF-8
    :param errors: 指定如何处理编解码错误
    :return: 转换为 str 后的值
    '''

!subtitle:说明

将一个 bytes 转换为字符串。

!subtitle:参数

  • x - 一个 bytes 类型的变量

  • encoding - 编码,默认为 UTF-8

  • errors 指定如何处理编解码错误,默认为 'strict'

!subtitle:返回值

转换为 str 后的值。

# 编码错误的处理方式

  • None'strict' - 编码错误时产生 ValueError 异常

  • 'ignore' - 忽略错误,通常会丢失数据

  • ’replace' - 使用 '?' 替换有错误的位置

  • 'surrogateescape' - 使用 U+DC08U+DCFF 之间的值表示不正确的字节

  • 'xmlcharrefreplace' - 编码格式不支持的字符将被替换为相应的 XML 字符引用,仅在写入时可用

  • 'backslashreplace' - 使用反斜杠转义表示错误的数据

  • 'namereplace' - 使用 \N{...} 转义表示错误的数据

# 示例

运行示例

# print 内部本就将对象转换为字符串打印,因此看起来没有变化
print(str(2e10))
print(str([1,2,3,4,5]))
print(str((1,)))

# 编码
print(str(b'Python', encoding='utf-8'))

# 自定义
class Person:
    def __init__(self, name):
        self.name = name
    
    def __str__(self):
        return f"Person: {self.name}"

p = Person("Alice")
print(str(p))

# 推荐阅读

本文 更新于: 2025-11-27 09:38:00 创建于: 2025-11-27 09:38:00