gpt4 book ai didi

Python的int函数性能

转载 作者:太空狗 更新时间:2023-10-29 21:15:30 25 4
gpt4 key购买 nike

Python的内建函数有没有int即使值已经是整数,仍然尝试转换提交的值?

更简洁一点:int('42')int(42) 之间是否存在由转换算法引起的性能差异?

最佳答案

这是在函数 long_long in Objects/longobject.c 中处理的,正如 thefourtheye 更详细地解释的那样:

static PyObject *
long_long(PyObject *v)
{
if (PyLong_CheckExact(v))
Py_INCREF(v);
else
v = _PyLong_Copy((PyLongObject *)v);
return v;
}

因此,当参数已经是 int 时,引用计数会增加并返回相同的对象。

一般情况下,您可以假设不可变类型有类似的行为。例如,tuple(mytuple) 返回对 mytu​​ple 的新引用,而相比之下,list(mylist) 创建 的副本>我的列表

关于Python的int函数性能,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21966475/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com