1
データを前処理してコンストラクタに渡す前に別のメソッドを作成するのは良い方法ですか(前処理が面倒な場合など)Pythonでデータを前処理してクラスコンストラクタに渡す前に
class C():
def __init__(self, input, more_input):
self.value = self.prepare_value(input, more_input)
def prepare_value(self, input, more_input):
#here I actually do some nontrivial stuff, over many lines
#for brevity I'm illustrating just a short, one-line operation
value = (input + more_input)/2
return value
print(C(10, 33).value) # has value 21.5
はい。あなたはあなたの用語を正しく理解していないことに注意してください。あなたはコンストラクタの前で前処理をしていません。あなたはコンストラクタでそれをやっています。その決して明確な切口は、常にその賢明か、それは常に賢明ではないと言う。あなたのクラスが何をしているか、あるクラスをあまりにも多くの責任を割り当てて、そのコンストラクタで大量の事前処理を必要とすることによって、あまりにも多くの他の機能に結合するかどうかによって異なります。 –