私はPythonでenumと違った動作をしていました。enumとenum34の両方で生活するには?
int
た私は、このために、出力に気付く最初びっくりしました:
>>>import enum
>>>class Color(enum.Enum):
red = 1
>>>Color.red
1
その後、私は代わりにenum34
の私はenum
がインストールされていたが実現:
$ sudo apt-get install python-enum34
そして今、結果が異なっています:
>>>Color.red
<Color.red: 1>
私の現在のアプリケーションは、value.value
で列挙型の値を取得するタイプenum
を受け入れています。もちろん、間違ったenumがインストールされていると、例外が発生します。
どうすればこの問題に対処できますか?
標準ライブラリの 'enum'以外の' enum'モジュールについてお話していますか?標準ライブラリのものが、あなたが見た結果を与えてはいけません。 – user2357112
私は分かりません。私はちょうど 'ipython'の新規インストールを実行し、この例を試しました。私は前の出力を得た。それから私は 'enum34'をインストールしました。私は後者の結果を得ました。 – nowox
Pythonのバージョンによっては、新規インストールでImportErrorまたは望む結果が得られるはずです。あなたは 'enum.Enum'から継承することを覚えていますか?表示したコードスニペットは、実際のインタープリタセッションからコピーペーストされません。 – user2357112