assert not 'default' in kwargs.keys() super().__init__(*args, default=_special_value, **kwargs) def serialize(self, x): if x == _special_value: return super().serialize(None) else: return super().serialize(x) def parse(self, x): x = super().parse(x) if x is None: return _special_value else: return x class TaskOnKart2(gokart.TaskOnKart): def to_str_params(self, only_significant=False, only_public=False): str_params = super().to_str_params() for param_name, param_value in self.param_kwargs.items(): if param_value == _special_value: del str_params[param_name] return str_params • luigi.Taskに特定のParameterの機能入れるのか ->to_str_paramsがkey->str表現のdictを返してくれるので、 後付けでdelで対応すればgokartレイヤ にとってこれる • 意図的にNoneを使いたいParameterでも -> Noneではなくオブジェクト ID比較 シリアライズ時は空文字になるので、マルチプロセスでも大丈夫なはず