约 1811 字

约 9 分钟

#Python 的内置函数 str

说明:类型转换为 str。

#函数说明

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

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

说明

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

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

参数

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

返回值

转换为 str 后的值。


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

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

说明

将一个 bytes 转换为字符串。

参数

  • x - 一个 bytes 类型的变量
  • encoding - 编码,默认为 UTF-8
  • errors 指定如何处理编解码错误,默认为 'strict'

返回值

转换为 str 后的值。

#编码错误的处理方式

  • None 或 'strict' - 编码错误时产生 ValueError 异常
  • 'ignore' - 忽略错误,通常会丢失数据
  • ’replace' - 使用 '?' 替换有错误的位置
  • 'surrogateescape' - 使用 U+DC08 至 U+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))

>>> Establishing WebAssembly Runtime.

>>> Standby.

Powered by Shift.

#推荐阅读

更新: 2025/10/25

作者: PlanC

创建: 2025/6/9