Python 基础教程

Python 流程控制

Python 函数

Python 数据类型

Python 文件操作

Python 对象和类

Python 日期和时间

Python 高级知识

Python 参考手册

Python str() 使用方法及示例

Python 内置函数

str()函数返回给定对象的字符串表现形式。

str()的语法为:

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

str()参数

str() 方法具有三个参数:

  • object- object要返回其字符串表示形式。如果未提供,则返回空字符串

  • encoding-给定对象的编码。未提供时默认值为UTF-8

  • errors-解码失败时的响应。默认为'strict'。

共有六种类型errors:

  • strict-默认响应,在失败时引发UnicodeDecodeError异常

  • ignore -从结果中忽略无法编码的Unicode

  • replace -将无法编码的Unicode替换为问号

  • xmlcharrefreplace -插入XML字符引用而不是无法编码的Unicode

  • backslashreplace-插入\uNNNNespace序列而不是无法编码的Unicode

  • namereplace-插入\N{...}转义序列而不是无法编码的Unicode

str()返回值

str()方法返回一个字符串,该字符串被视为给定对象的非正式或可打印的表示形式。

示例1:转换为字符串

如果未提供encodingerrors参数,则在str()内部调用__str__()对象的方法。

如果找不到__str__()方法,则调用repr(obj)

result = str(10)
print(result)

输出结果

10

注意:结果变量将包含一个字符串。

也可以在Python指定台上尝试这些命令。

>>> str('Adam')
>>> str(b'Python!')

示例2:str()如何处理字节?

如果提供了encoding和errors参数,则第一个参数object应该是一个类似于bytes的对象(bytesbytearray)。

如果对象是bytes 或 bytearray,则在str()内部进行调用bytes.decode(encoding, errors)。

否则,它将在调用decode()方法之前获取缓冲区中的bytes对象。

# bytes
b = bytes('pythön', encoding='utf-8')

print(str(b, encoding='ascii', errors='ignore'))

输出结果

pythn

此处,字符'ö'无法通过ASCII解码。因此,它应该给出一个错误。但是,我们已经设置了errors ='ignore'。因此,Python str()函数会忽略无法通过解码的字符。

Python 内置函数