str()函数用于将指定的对象转换为字符串类型。如果对象已经是字符串类型,则返回对象本身;否则,会调用对象的__str__()方法来进行转换。
函数语法
该函数存在两种形式:
1. 单个参数形式
str(object='')
object可以是任意对象,会调用对象的__str__()方法进行转换;
如果对象没有定义__str__()方法,则会调用其父类的该方法。
2. 多个参数形式
str(object=b'', encoding='utf-8', errors='strict')
object必须是字节对象,函数会使用指定的解码方式进行解码;
str()函数示例
应用于任意类型:
print(str(123)) # 123
print(str(3.14159)) # 3.14159
print(str(True)) # True
print(str([1,2,3,4])) # [1, 2, 3, 4]
class MyClass:
def __str__(self):
return 'MyClass'
my = MyClass()
print(my) # MyClass
应用于字节对象:
# '你好' 的 utf-8编码
chinese_bytes = b'\xe4\xbd\xa0\xe5\xa5\xbd'
print(chinese_bytes)
print(str(chinese_bytes,encoding='utf-8'))
b'\xe4\xbd\xa0\xe5\xa5\xbd' 你好