質問したいこと
現在、業務でスクリプトを作成しています。
関数を複数使用するスクリプトを作成する場合のベストプラクティスを知りたいと思っています。
例えば、スクリプトの内容は以下になります。
作成内容
- Aという値を作成する
- Bという値をAから作成する(作成するにはAのIDが必要)
- Cという値をBから作成する(作成するにはBのIDが必要)
###スクリプトの例1
Python
1def method01(): 2 value01 = 'create_value' 3 return value01 4 5def method02(): 6 value01 = method01() 7 value02 = value01 + '例1' 8 return value02 9 10def method03(): 11 value02 = method02() 12 value03 = value02 + '例2' 13 return value03 14 15if __name__ == '__main__': 16 method03()
このスクリプトは実際、私が作成しているものと似た作りになっています。(見苦しいコードですみません。。)
こういった場合は、以下の例2のように作成するのが正解でしょうか?
###スクリプトの例2
Python
1def method01(): 2 value01 = 'create_value' 3 return value01 4 5def method02(val01): 6 value02 = val01 + '例1' 7 return value02 8 9def method03(val02): 10 value03 = val02 + '例2' 11 return value03 12 13if __name__ == '__main__': 14 first = method01() 15 second = method02(first) 16 third = method03(second)
また、一つ目の関数がエラーなく実行された場合のみ、二つ目の関数が実行される。二つ目の関数がエラーなく実行された場合のみ三つ目の...という処理を実装する場合は最後のif __name__ == '__main__':
以下にif文を作成するというやり方がシンプルで良いのでしょうか?
###スクリプトの例3
Python
1def method01(): 2# エラーでなければvalue01にvalue01が入ると仮定 3 value01 = request.post('https://test.co.jp', headers='test_headers', data='test_data') 4 if value01.status_code == 404: 5 value01 = 'False' 6 return value01 7 8def method02(val01): 9# エラーでなければvalue02にvalue02が入ると仮定 10 value02 = request.post('https://test.co.jp', headers='test_headers', data=val01) 11 if value02.status_code == 404: 12 value02 = 'False' 13 return value02 14 15def method03(val02): 16 value03 = val02 + '例2' 17 return value03 18 19if __name__ == '__main__': 20 first = method01() 21 if first == 'value01' 22 second = method02(first) 23 if second == 'value02' 24 third = method03(second)
3つ目の例くらいしか思い浮かばなかったです・・・。
ただ、本来はレスポンスの値が固定値ではないため、こんな書き方はできないと思います。
皆さんならこうする、もしくはこうした方が良いという書き方を教えていただけませんか?
よろしくお願いいたします。
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2019/09/19 13:35