我很好奇Python如何实现从整数到字符串的类型转换及其性能。我试图在source code's stringlib library中找到str()的C函数,但不能。举一个具体的例子,评估它时会发生什么:
>> x = 123
>> y = str(x)
>> y
'123'
从我在stringlib源代码中读到的内容,我相信y
现在是一个STRINGLIB_CHAR*
对象,这是CPython的扩展char类(如果错误,请纠正我) 。但是,使用什么算法将整数123
转换为字符串"123"
?时间复杂度是按大小(以数字n表示)还是整数的某些其他特征线性变化的?它只是在整数上重复调用modulo,从末尾到前面填充字符串缓冲区吗?