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'
你好