Python
 Computer >> コンピューター >  >> プログラミング >> Python

enum-Pythonでの列挙のサポート


列挙型は、一意の定数値が指定された識別子(メンバー)のセットです。列挙内で、メンバーをIDで比較できます。列挙オブジェクトも変更できます。

enumモジュールは次のクラスを定義します

列挙型 :列挙型定数を作成するための基本クラス。

IntEnum :intのサブクラスでもある列挙型定数を作成するための基本クラス。

列挙は、クラス構文を使用して作成されます

#enumexample.py
from enum import Enum
class langs(Enum):
Python = 1
Java = 2
Cpp = 3
Ruby = 4

列挙型メンバーには、人間が読める形式の文字列表現とrepr表現があります。

>>> from enumexample import langs
>>> print (langs.Python)
langs.Python
>>> print (repr(langs.Python))
<langs.Python: 1>

各列挙型メンバーには、名前と値のプロパティがあります。

>>> x = langs.Python
>>> x.name
'Python'
>>> x.value
1

ループを使用して、すべてのメンバーを反復処理できます。

>>> for lang in langs:
print (lang.name, lang.value)
Python 1
Java 2
Cpp 3
Ruby 4

メンバーは価値やアイデンティティの助けを借りてアクセスすることができます

>>> langs(3)
<langs.Cpp: 3>
>>> langs['Java']
<langs.Java: 2>

ID演算子は、列挙型のメンバーを比較するために使用できます。

>>> x = langs(2)
>>> y = langs(4)
>>> x is y
False

同じ名前の2つの列挙型メンバーを持つことは無効です。ただし、2つの列挙型メンバーは同じ値を持つことができます。 enumexample.pyを次のように変更します:

from enum import Enum
class langs(Enum):
Python = 1
Java = 2
Cpp = 3
Ruby = 4
Cplusplus = 3
>>> from enumexample import langs
>>> langs.Cpp
<langs.Cpp: 3>
>>> langs.Cplusplus
<langs.Cpp: 3>
>>> langs(3)
<langs.Cpp: 3>

デフォルトでは、列挙には同じ値のエイリアスとして複数の名前を付けることができます。一意の値を確保するには、@enum.uniqueを使用します。列挙専用のクラスデコレータ。


  1. WindowsでのPythonプログラミング用のIDE

    この記事では、PythonforWindowsで利用できるさまざまなIDEについて学習します。 Pycharm インタラクティブなPythonコンソール Webフレームワークのサポート より速い屈折時間 開発が少ない Jupyterノートブック ほぼすべてのPythonモジュールとの互換性 スペースとハードウェアの要件が少ない 組み込みのターミナルおよびカーネル機能 さまざまなウィジェットを適用できます ウィングイデ 組み込みのデバッグツール 単体テストのサポート 簡単なコードナビゲーション機能。 コモドイデ サードパーティライブラリのサポート XMLオートコンプ

  2. Pythonコードの最適化のヒント?

    Pythonは他の準拠言語ほど高速でも効率的でもないことは誰もが知っていますが、ただし、Pythonコードがはるかに大きなワークロードを処理できることを示している大企業はたくさんあり、それほど遅くはないことを示しています。このセクションでは、正しいPythonプログラムをさらに高速かつ効率的に実行するために、覚えておくべきヒントをいくつか紹介します。 ヒント1:組み込み関数を使用する Pythonで効率的なコードを書くことはできますが、組み込み関数(Cで書かれている)に勝るものはありません。下の画像は、Python組み込み関数のリストを示しています ヒント2:Pythonの複数の代入を