为什么Python将引用计数为False和True?

2024-04-27 04:52:39 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在查看hasattr内置函数的源代码,注意到有几行引起了我的兴趣:

Py_INCREF(Py_False);
return Py_False;

...

Py_INCREF(Py_True);
return Py_True;

Py_False和{}不是全局值吗?仅仅出于好奇,Python为什么要为这些变量保留引用计数?在


Tags: 函数pyfalsetruereturn源代码全局内置
1条回答
网友
1楼 · 发布于 2024-04-27 04:52:39

这是为了使所有的对象处理统一。如果我正在编写处理函数返回值的C代码,我必须增加和减少该对象的引用计数。如果函数返回True,我不想检查它是否是那些特殊的对象之一,从而知道是否要操作它的引用计数。我可以对所有物体一视同仁。在

通过将True和False(以及None,btw)与所有其他对象一样对待,C代码自始至终都要简单得多。在

相关问题 更多 >