なぜPythonは偽と真の参照カウントを保持していますか?
-
12-09-2019 - |
質問
私は私の興味をそそった数行をはhasattr組み込み関数のソースコードを見ていると気づいた。
Py_INCREF(Py_False);
return Py_False;
...
Py_INCREF(Py_True);
return Py_True;
Py_False
およびグローバル値をPy_True
ていませんか?ただ、純粋な好奇心から、なぜPythonは、これらの変数の参照カウントを維持するのですか?
解決
これは、すべてのオブジェクトの処理を均一にするのです。私は、関数からの戻り値を処理するCコードを書いている場合は、私は、そのオブジェクトの参照カウントをインクリメントし、デクリメントする必要があります。関数が真の私を返した場合、私は、その参照カウントを操作するかどうかを知るために、これらの特別なオブジェクトの一つだかどうかを確認する必要がありますする必要はありません。私は同じように、すべてのオブジェクトを扱うことができます。
他のすべてのオブジェクトと同じ(ところで、およびなし)TrueおよびFalse治療しないことにより、Cのコードが全体はるかに簡単である。
所属していません StackOverflow