ホームページ > バックエンド開発 > Python チュートリアル > C# 開発者は Python で列挙型をどのように表現できますか?

C# 開発者は Python で列挙型をどのように表現できますか?

Barbara Streisand
リリース: 2024-12-24 07:15:17
オリジナル
192 人が閲覧しました

How Can C# Developers Represent Enums in Python?

Python での列挙型の表現

質問:

Python プロジェクトに取り組む C# 開発者として、どのように表現できますか?の Enum と同等Python?

答え:

列挙型 (Enums) は、PEP 435 の一部として Python 3.4 に導入されました。また、サードパーティ経由で以前のバージョンにもバックポートされています。 enum34 や aenum などのライブラリ。

使用enum モジュール (Python 3.4 ):

from enum import Enum

Animal = Enum('Animal', 'ant bee cat dog')
ログイン後にコピー

これにより、ant、bee、cat、dog のメンバーを持つ Animal Enum が作成されます。

enum34 ライブラリの使用 (Python) 2.7 ):

from enum34 import Enum

Animal = Enum('Animal', 'ant bee cat dog')
ログイン後にコピー

aenum ライブラリの使用 (Python 2.7 、 3.3 ):

from aenum import Enum

class Animal(Enum):
    ant = 1
    bee = 2
    cat = 3
    dog = 4
ログイン後にコピー

Python 3.4 より前の以前のテクニック:

先ほどPython のバージョンでは、カスタム enum() 関数を使用して独自の列挙型を作成できます:

def enum(**enums):
    return type('Enum', (), enums)

Numbers = enum(ONE=1, TWO=2, THREE='three')
ログイン後にコピー

追加テクニック:

  • 自動列挙: 使用enum(*sequential, **named) のような関数は、指定された名前に基づいてメンバーを自動的に生成します。
  • Reverseマッピング: 値を名前に簡単に変換できるように、enum に reverse_mapping 属性を追加します。
  • MyPy testing.Literal: Python 3.8 でタイプセーフな列挙型を定義するには、 testing.Literal を使用します。

以上がC# 開発者は Python で列挙型をどのように表現できますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート