str 创建字符串

内置函数(类)str,Python 官方文档描述如下:

help(str)
Help on class str in module builtins:

class str(object)
 |  str(object='') -> str
 |  str(bytes_or_buffer[, encoding[, errors]]) -> str
 |  
 |  Create a new string object from the given object. If encoding or
 |  errors is specified, then the object must expose a data buffer
 |  that will be decoded using the given encoding and error handler.
 |  Otherwise, returns the result of object.__str__() (if defined)
 |  or repr(object).
 |  encoding defaults to sys.getdefaultencoding().
 |  errors defaults to 'strict'.
 |  

返回对象 object 的字符串形式。如果未提供 object 则返回空字符串。

如果 encoding 或 errors 至少给出其中之一,则 bytes_or_buffer 应该是一个 bytes-like object (例如字节串或字节数组)。在此情况下,如果是一个字节串 (或字节数组) 对象,则 str(bytes, encoding, errors) 等价于 bytes.decode(encoding, errors)。否则的话,会在调用 bytes.decode() 之前获取缓冲区对象下层的 bytes 对象。

将一个 bytes 对象传入 str() 而不给出 encoding 或 errors 参数,将直接转 bytes 对象为字符串。

type(str)
type
str()
''
str(int)
"<class 'int'>"
str([1,2,3])
'[1, 2, 3]'
str(b'\xe8\x87\xaa\xe5\xad\xa6',encoding='utf-8')
'自学'
b'\xe8\x87\xaa\xe5\xad\xa6'.decode(encoding='utf-8')
'自学'
str(b'\xe8\x87\xaa\xe5\xad\xa6')
"b'\\xe8\\x87\\xaa\\xe5\\xad\\xa6'"