跳到主要内容

Python str() 函数

str() 方法返回给定对象的字符串表示形式。

示例

# Adam 的字符串表示形式
print(str('Adam'))

# 输出: Adam

str() 语法

str() 的语法是:

str(object, encoding='utf-8', errors='strict')

在这里,encoding 和 errors 参数仅用于对象类型为 bytesbytearray 时。

str() 参数

str() 方法接受三个参数:

  • object - 要返回其字符串表示的对象
  • encoding - 给定字节对象需要解码为的编码(可以是 UTF-8、ASCII 等
  • errors - 解码失败时的响应(可以是 strict、ignore、replace 等

注意:有六种类型的错误:strict、ignore、replace、xmlcharrefreplace、namereplace、backslashreplace。默认错误是 strict

str() 返回值

str() 方法返回:

  • 给定对象的可打印字符串表示形式
  • 以提供的编码形式的给定 byte 对象的字符串表示形式

示例 1:Python() 字符串

# Luke 的字符串表示形式
name = str('Luke')
print(name)

# 整数 40 的字符串表示形式
age = str(40)
print(age)

# 数字字符串 7ft 的字符串表示形式
height = str('7ft')
print(height)

输出

Luke
40
7ft

在上面的示例中,我们使用了 str() 方法,并使用了字符串、整数和数字字符串等不同类型的参数。

示例 2:带字节对象的 str()

我们可以使用 str() 方法处理由 bytes() 方法定义的字节对象

在这种情况下,我们需要指定我们想要将字节对象转换为的编码,以及 str() 方法可以执行的错误检查类型。

# 声明一个字节对象
b = bytes('pythön', encoding='utf-8')

# 将 utf-8 字节对象转换为 ascii,并忽略错误
print(str(b, encoding='ascii', errors='ignore'))

# 将 utf-8 字节对象转换为 ascii,并严格错误处理
print(str(b, encoding='ascii', errors='strict'))

输出

pythn
UnicodeDecodeError: 'ascii' 编码无法解码位置 4 处的字节 0xc3:序数不在范围(128)内

在第一个示例中,我们使用字符串 'pythön' 和编码 utf-8 创建了字节对象 b。

我们将 b 对象传递给 str() 方法,并指定编码为 ascii

这里,我们将 errors 参数设置为 ignore,因此,str() 方法忽略了字符 'ö'。由于该方法无法将此字符解码为 ascii,我们得到了输出 pythn

类似地,在第二个示例中,我们将错误设置为 strict。在这种情况下,str() 方法会考虑字符 'ö' 并产生 UnicodeDecodeError 作为输出。

推荐阅读: