关于Python中str()函数处理int对象返回字符串的疑问
关于Python str()函数的疑问解答
什么是“返回对象的字符串版本”?
所谓“返回对象的字符串版本”,本质是调用目标对象的__str__()方法(如果对象未定义该方法,会降级调用__repr__()方法),生成并返回一个全新的字符串对象——这个字符串是该对象的人类友好可读的文本表示形式。
针对示例代码的解释
看这段代码:
i=1 j=str(i)
str()不会复制原int对象i,它只是读取i的数值,生成对应的字符串表示(即"1"),然后将这个新创建的字符串对象赋值给j。原int对象i完全不受影响,j是一个独立的字符串实例,和i没有引用层面的关联。
补充说明:对于int这类不可变的内置数据类型,本身也不存在“复制对象”的需求——因为你无法修改一个int对象的值,str()的核心作用就是把它的数值转换为对应的文本形式,生成全新的字符串实例。
内容的提问来源于stack exchange,提问作者Besha
相关产品推荐
相关产品推荐

