前提・実現したいこと
現在Pythonである計算をしております。
その中でいくつかの関数を組み合わせて計算するのですが、以下のように関数の途中の計算結果を他の関数で再利用することはできるでしょうか?
例として、例えば以下のように入力されたa、bからcを求めて返す関数があったとします。
Python
1def f1(a,b): 2 x=a+1 3 y=x^2+b*2 4 c=y-3 5 return c
また、同じように2つの入力を受けて異なる計算を行う関数があったとします。
Python
1def f2(a,b): 2 l=a+3 3 m=b*3/l 4 c=1/l-m-5 5 return c
ここで、f1は、例えばa=1、b=1の入力に対して結果を返すだけですが、f2に関しては、f1の途中計算結果であるxとyを使用したいと考えています。
以下のようなコードは通らないかと思いますが、イメージとしては以下のz2のようなイメージになります。
Python
1 z1=f1(a,b) 2 z2=f2(f1(a,b).x,f1(a,b).y):
f1を例えば以下のように書いておけば、z1[1]、z1[2]をf2のa、bにそれぞれ入れられるかと思いますが、書き方として戻り値を延々と書いていくと、何番目の戻り値がどれに相当するのか混乱しそうなので、もう少し賢い書き方が無いかと思い質問させていただいております。
Python
1def f1(a,b): 2 x=a+1 3 y=b*2 4 c=x+y-3 5 return c,x,y
今のところ専用のクラスを作成して、その中に変数と関数を登録した方が良いように感じておりますが、プログラミングに詳しい方々のご意見を伺いたく、ご教授のほど宜しくお願いいたします。
補足情報(FW/ツールのバージョンなど)
Python 3.6
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2018/06/05 07:24
2018/06/05 07:32
2018/06/05 07:33