@dataclass class MyClass: _myvar
のように@dataclassを使っていると、initを自動生成してくれて便利だが初期化時に何か処理を追加したい場合に困る。
以下のようにpost_initメソッドを実装するとinitを実行した後で実行してくれるので便利。これでdef initを自分で実装し、_myvarへの代入処理を書かなくて済む。。
@dataclass
class MyClass:
_myvar
def __post_init__(self):
...
参考: