我有一個有許多默認的類,因爲我不能過載。有沒有比擁有多個默認參數或使用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'傳遞給'Editor'。 –