#Python 的内置函数 str
说明:类型转换为 str。
#函数说明
class str(x=''):
'''
类型转换为 str
:param x: 一个变量
:return: 转换为 str 后的值
'''
说明
通过调用对象的 __str__ 方法,将一个变量转换为字符串。
如果对象没有 __str__ 方法,则调用 __repr__ 方法。
参数
x- 要转换的变量,默认为一个空字符串
返回值
转换为 str 后的值。
class str(x:bytes=b'', encoding='utf-8', errors='strict'):
'''
将一个 bytes 转换为字符串
:param x: 一个 bytes 类型的变量
:param encoding: 编码,默认为 UTF-8
:param errors: 指定如何处理编解码错误
:return: 转换为 str 后的值
'''
说明
将一个 bytes 转换为字符串。
参数
x- 一个 bytes 类型的变量encoding- 编码,默认为 UTF-8errors指定如何处理编解码错误,默认为'strict'
返回值
转换为 str 后的值。
#编码错误的处理方式
None或'strict'- 编码错误时产生ValueError异常'ignore'- 忽略错误,通常会丢失数据’replace'- 使用'?'替换有错误的位置'surrogateescape'- 使用U+DC08至U+DCFF之间的值表示不正确的字节'xmlcharrefreplace'- 编码格式不支持的字符将被替换为相应的 XML 字符引用,仅在写入时可用'backslashreplace'- 使用反斜杠转义表示错误的数据'namereplace'- 使用\N{...}转义表示错误的数据
#示例
# print 内部本就将对象转换为字符串打印,因此看起来没有变化
print(str(2e10))
print(str([1,2,3,4,5]))
print(str((1,)))
# 编码
print(str(b'Python', encoding='utf-8'))
# 自定义
class Person:
def __init__(self, name):
self.name = name
def __str__(self):
return f"Person: {self.name}"
p = Person("Alice")
print(str(p))