Python中str()函数与str类的区别及str()调用对象解析
str() 与str类的区别及调用本质
在Python里,str既是表示字符串的内置类,也是我们常说的"str()函数"的本体——两者其实没有严格意义上的独立区别,手册里提到的"str()函数"只是对类构造调用的通俗说法。
- 底层逻辑:str类是Python中所有字符串对象的模板,而我们写
str()的时候,本质就是调用这个类的构造方法,要么创建空字符串实例,要么把其他类型的对象转换成字符串实例(比如str(123)会把整数转成字符串"123")。 - 所谓"函数"是简化表述:手册里把
str()称作函数,只是为了更直观地描述它的使用方式(像调用普通函数一样),但从Python的语法本质来说,它就是str类的构造调用。
所以写代码str()时,你调用的不是独立的函数,而是在触发str类的构造逻辑,实例化一个str类的对象。
内容的提问来源于stack exchange,提问作者rish
相关产品推荐
相关产品推荐

