当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


Python str构造函数用法及代码示例


Python 的 str(~) 构造函数返回对象的字符串版本。

参数

1. object | object

要转换为字符串的对象。

2. encoding | encoding type | optional

所提供对象的编码。默认为 utf-8

3. errors | error method | optional

指定如何处理错误。默认为 strict

类型

说明

strict

编码失败时引发UnicodeError

ignore

忽略格式错误的数据并继续,恕不另行通知。

replace

替换为合适的替换标记进行编码。

xmlcharrefreplace

替换为适当的 XML 字符引用。

backslashreplace

替换为反斜杠转义序列。

namereplace

替换为 \N{...} 转义序列。

返回值

对象的字符串版本。如果未提供对象,则返回空字符串。

例子

要返回 15 的字符串版本:

a = 15
b = str(a)
print(b)
print(type(b))



15
<class 'str'>

编码参数

指定 'utf-8' 的编码:

# Create a bytes object and store it to variable y
y = bytes('marché', encoding='utf-8')
str(y, encoding='utf-8')



'marché'

使用utf-8编码的字节对象y可以成功解码并转换为字符串。

错误参数

要指定 'replace' 错误方法并使用 'ascii' 进行解码:

# Create a bytes object and store it to variable z
z = bytes('marché', encoding='utf-8')
str(z, encoding='ascii', errors='replace')



'march��'

无法以 ASCII 格式解码 é,因此使用 '�' 替换标记而不是引发错误。

要使用 'ascii''strict' 错误方法解码 'marché'

# Create a bytes object and store it to variable z
z = bytes('marché', encoding='utf-8')
str(z, encoding='ascii', errors='strict')



UnicodeDecodeError: 'ascii' codec can't decode byte 0xc3 in position 5

无法以 ASCII 解码 é,并且由于我们已指定 'strict' 模式来处理错误,因此会引发 UnicodeDecodeError

相关用法


注:本文由纯净天空筛选整理自Isshin Inada大神的英文原创作品 Python | str constructor。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。