私は過負荷を働かせることができないので、私は多くのデフォルトを持つクラスを持っています。複数のデフォルト引数を持つかkwargsを使うよりも良い方法がありますか?クラスに複数のデフォルト引数を持たせるためには、もっとpythonicな方法がありますか?
私は自分のクラスに辞書を渡すことを考えましたが、必要な引数が渡されるかどうかをどのように制御しますか?
もし私がこれをやっているはずのもっとpythonicな方法があれば?
class Editor:
def __init__(self,
ffmpeg: str,
font_file=None,
font_size=148,
font_color="white",
title_length=5,
title_x="(w-text_w)/2",
title_y="(h-text_h)/2",
box=1,
box_color="black",
box_opacity=0.5,
box_border_width=25):
self.ffmpeg = ffmpeg
self.commands = {'help': [self.ffmpeg, '-h']}
self.command_sequence = []
self.titles= {"font": {"file": font_file,
"size": font_size,
"color": font_color},
"length": title_length,
"box": {"status": box,
"color": box_color,
"opacity": box_opacity,
"borderw": box_border_width},
"coordinates": {"x": title_x,
"y": title_y}}
サブオブジェクトに分解できますか?たとえば、最後の4つのパラメータだけを必要とする 'box'オブジェクトです。それで 'エディタ'に 'box 'を渡すだけです。 –