Python str() 函数
str()
方法返回给定对象的字符串表示形式。
示例
# Adam 的字符串表示形式
print(str('Adam'))
# 输出: Adam
str() 语法
str()
的语法是:
str(object, encoding='utf-8', errors='strict')
在这里,encoding 和 errors 参数仅用于对象类型为 bytes 或 bytearray 时。
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 作为输出。
推荐阅读: