[解決済み] PythonのEnumを拡張するには?
2023-07-14 12:08:26
質問
の拡張のためのベストプラクティスは何ですか?
Enum
を拡張するベストプラクティスは何ですか?
例えば
from enum import Enum
class EventStatus(Enum):
success = 0
failure = 1
class BookingStatus(EventStatus):
duplicate = 2
unknown = 3
Traceback (most recent call last):
...
TypeError: Cannot extend enumerations
現在のところ、メンバを持つ基本 enum クラスを作成し、それを他の enum クラスで使用する方法はありません (上記の例のように)。Pythonのenumに継承を実装する他の方法はないのでしょうか?
どのように解決するのですか?
列挙型のサブクラス化は、その列挙型がメンバーを定義していない場合にのみ許可されます。
メンバーを定義する列挙型のサブクラス化を許可すると、型とインスタンスのいくつかの重要な不変量に違反することになります。
https://docs.python.org/3/library/enum.html#restricted-enum-subclassing
そこで いいえ のように、直接的には不可能なのです。
関連
-
[解決済み] Java enumのメンバーを比較する:==またはequals()?
-
[解決済み] enumを列挙するには
-
[解決済み] intをenumにキャストするにはどうすればよいですか?
-
[解決済み] Javaで文字列値からenum値を取得する方法
-
[解決済み] Pythonで'Enum'を表現するにはどうしたらいいですか?
-
[解決済み】ネストされたディレクトリを安全に作成するには?
-
[解決済み】Pythonに三項条件演算子はありますか?
-
[解決済み] Django のテストデータベースをメモリ上だけで動作させるには?
-
[解決済み] なぜ(0-6)は-6=偽なのか?重複
-
[解決済み] サブフォルダからのインポートモジュール
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] Pythonで'Enum'を表現するにはどうしたらいいですか?
-
[解決済み] PythonでファイルのMD5チェックサムを計算するには?重複
-
[解決済み] Pythonの要素別タプル演算(sumなど
-
[解決済み] 値で列挙名を取得する [重複]。
-
[解決済み] SQLAlchemy - テーブルのリストを取得する
-
[解決済み] PyMongoで.sortを使用する
-
[解決済み] Ctrl-CでPythonスクリプトを終了できない
-
[解決済み] Jupyter (IPython)ノートブックのセッションをpickleして保存する方法
-
[解決済み] Pythonの文字列の前にあるbという接頭辞は何を意味するのですか?
-
[解決済み] Alembicアップグレードスクリプトでインサートやアップデートを実行するにはどうすればよいですか?