Pythonのディスクリプタがわかった
なんとなくしっくり来なかったPythonのディスクリプタであったが、このコードで悟った。
クラスとインスタンスがどう実装されているのか把握した。
class Foo: def do1(self): print('you called do1 with:', self) f = Foo() f.do1() # you called do1 with: <__main__.Foo object at 0x018A18B0> def do2(self): print('you called do2 with:', self) do2.__get__(f)() # you called do2 with: <__main__.Foo object at 0x018A18B0>
よくよく考えると、これは当たり前のことであって、何で今までしっくり来なかったのか不思議なくらいだ。