次の Python コードでは:
class Foo:
def bar(self):
return 1
def baz():
return Foo()
print baz().bar()
質問 0:
がbar()
で評価されるとprint baz().bar()
、Foo
によって返されたインスタンスはbaz()
まだガベージ コレクションされていません。
foo = baz()
print foo.bar()
インスタンスfoo
の参照を格納する場所。Foo
質問1:
Foo と baz が C で Python 拡張モジュールに実装されている場合baz
、返されたオブジェクトの参照カウントをインクリメントしfoo
て 1 に設定する必要がありますか?