【Python】関数に振り分ける分岐処理を簡略化しよう2022/12/28に公開PythonTips効率化dict分岐処理techこんな処理、ありがち変数をステータスとして、そのステータスによって分岐させることってよくありますよね。以下のような状態だとしましょう。print('one()が実行されました。print('two()が実行されました。print('three()が実行されました。print('default()が実行されました。default();何か一見最適化されていて、これ以上簡略化はできなさそうな感じがしますね。できるとしたら、ifやelseの中身を同じ行にまとめてしまうことでしょうか。実は、もっと分岐を簡略化できちゃいます。関数の定義を除くと、分岐の箇所を以下のように簡略化できます。default)action()なぜこうなるのかあるPythonをある程度慣れている方は、すぐに理解できてしまっていると思います。分からない方のためにサックリ説明します。各関数を分岐したい条件と一致する値のキーでdict化します。three}そのdictが持つgetメソッドを、ステータスとなる変数をキーに実行します。渡したキーに一致する要素があれば、その関数が戻ってきます。なければ、getメソッドの第二引数が戻ってきます。default)戻ってきた関数が入った変数を実行しましょう。action()それではよいPythonライフを。簡略化アイデアhttps://www.youtube.com/shorts/UFdEp9wrtOYdictのgetメソッドhttps://note.nkmk.me/python-dict-get/Unico417Pythonを筆頭に、初心者の方が笑って学べる記事を書いています。バッジを贈って著者を応援しようバッジを受け取った著者にはZennから現金やAmazonギフトカードが還元されます。バッジを贈るDiscussionUnico417Pythonを筆頭に、初心者の方が笑って学べる記事を書いています。Proよくある質問LinksX(Twitter)GitHubメディアキットLegal利用規約プライバシーポリシ。