static変数を初期化する処理をstaticコンストラクタに書きたいという場合。 pythonにはstaticコンストラクタは無いけど、.pyファイルは普通にpythonスクリプトとして実行されるので 以下のようにクラス定義の後に初期化処理を実装すればよい。
class A(object):
_some_private_static_member = None
@classmethod
def reset_static_data_members(cls, some_value):
cls._some_private_static_member = some_value
A.reset_static_data_members("some static value")
こういうpythonのオブジェクト指向を後付けした感いやだなぁ。メソッドの第一引数のselfとか。
参考: