エントリーの編集
エントリーの編集は全ユーザーに共通の機能です。
必ずガイドラインを一読の上ご利用ください。
PythonのEnumを関数と紐付け、Callableにする - Qiita
記事へのコメント0件
- 注目コメント
- 新着コメント
このエントリーにコメントしてみましょう。
注目コメント算出アルゴリズムの一部にLINEヤフー株式会社の「建設的コメント順位付けモデルAPI」を使用しています
- バナー広告なし
- ミュート機能あり
- ダークモード搭載
関連記事
PythonのEnumを関数と紐付け、Callableにする - Qiita
いくつかの選択肢からアルゴリズムを選ばせるような時、列挙型の各値に関数を紐づけたいことがある。 Ja... いくつかの選択肢からアルゴリズムを選ばせるような時、列挙型の各値に関数を紐づけたいことがある。 Javaなら列挙型の各値にメソッドを設定できるのだが、Pythonではできない。Enum自体をCallableにする方向性で、なんとかキレイな書き方がないか考えてみる。 値はどうでもいい場合 PythonのEnumは値を自由に設定できる。だから値そのものを関数にしてしまえばいい。 だがEnumを継承したクラスの中で定義された関数はメソッドと判断され、列挙される値に含まれなくなってしまう。 class Dame(Enum): # 値を定義したことにならず、メソッドを定義したことになる A = lambda: print("A") list(Dame) # 空リスト from enum import Enum class CallableEnum(Enum): """ このクラスを継承してCalla