Python 的 str(~)
构造函数返回对象的字符串版本。
参数
1. object
| object
要转换为字符串的对象。
2. encoding
| encoding type
| optional
所提供对象的编码。默认为 utf-8
。
3. errors
| error method
| optional
指定如何处理错误。默认为 strict
。
类型 |
说明 |
---|---|
|
编码失败时引发 |
|
忽略格式错误的数据并继续,恕不另行通知。 |
|
替换为合适的替换标记进行编码。 |
|
替换为适当的 XML 字符引用。 |
|
替换为反斜杠转义序列。 |
|
替换为 |
返回值
对象的字符串版本。如果未提供对象,则返回空字符串。
例子
要返回 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
。
相关用法
- Python str.isidentifier用法及代码示例
- Python str.expandtabs用法及代码示例
- Python str.title用法及代码示例
- Python str.isupper用法及代码示例
- Python str.rstrip用法及代码示例
- Python Django strip_tags用法及代码示例
- Python str.splitlines用法及代码示例
- Python str() vs repr()用法及代码示例
- Python string转integer用法及代码示例
- Python Django stringfilter用法及代码示例
- Python str.lstrip用法及代码示例
- Python string strip()用法及代码示例
- Python string.octdigits用法及代码示例
- Python string.whitespace用法及代码示例
- Python str.removeprefix用法及代码示例
- Python str.split用法及代码示例
- Python strip()用法及代码示例
- Python str()用法及代码示例
- Python str.zfill用法及代码示例
- Python str.strip用法及代码示例
- Python string capitalize()用法及代码示例
- Python string.punctuation用法及代码示例
- Python strftime()用法及代码示例
- Python string center()用法及代码示例
- Python str.format_map用法及代码示例
注:本文由纯净天空筛选整理自Isshin Inada大神的英文原创作品 Python | str constructor。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。