pythonの__setattr__をオーバーライドしてみたら楽しいかもしれない。
pythonの__setattr__をオーバーライドして、クラスの色々な挙動をカスタマイズするという実験をしてみました。
pythonには__getattr__の他に__getattribute__なんてものがあるらしい。
pythonがクラスのメンバを取得する流れと、その仮定で使う`__getattr__`と`__getattribute__`の挙動について調べてみました。
Pythonで末尾再帰する
Pythonのデコレータを使って、末尾再帰最適化を実現する方法です。速くはならないけれど、少なくともどれだけループさせてもメモリが枯渇して停止することは無くなります。
C言語でfor i inをしたい
C言語のマクロを使って、Pythonなどのスクリプト言語にありがちな`for i in range(10)`のようなものを作ってみました。可読性がやばいので、ネタ記事と思ってください。