列挙型

Skip to content

これは機械翻訳されたテキストであり、誤りを含む可能性があります!

Enums (列挙型) は、限られた数の事前定義された値しか持てないデータ型を定義する方法です。これにより、変数が有効な値しか持てないようにすることで、エラーを回避しやすくなります。

Enums は厳密には 検証 には使用されませんが、変数の有効な値を制限するのに役立ち、それによってエラーを防ぐのに役立ちます。

たとえば、車を表すクラスがある場合、車の色を定義するために Enum を使用できます。

from enum import Enum

class CarColor(Enum):
    RED = "red"
    BLUE = "blue"
    GREEN = "green"
    BLACK = "black"
    WHITE = "white"

class Car:
    def __init__(self, make: str, model: str, year: int, color: CarColor):
        self.make = make
        self.model = model
        self.year = year
        self.color = color # 車の色

なぜか?

私たちのIDEは、enumを使用するときに、より優れた自動補完を提供し、無効な値を設定するのを防ぎます(困難にします)。 CarColorに定義されていない色を割り当てようとすると、Pythonはエラーをスローします。 これにより、コードがより堅牢になり、保守が容易になります。 発生する可能性のあるエラーが少ないほど、コードの品質が向上します。

支払い方法を処理する関数があると想像してください:PayPalVISAMASTERCARD、およびBITCOIN。 支払い方法にEnumを使用することで、関数が有効な支払い方法のみを受け取り、エラーにつながる可能性のある"MASTERCARDD""CASH"などの無効な値を受け取らないようにすることができます。

Enum Meme

Easy 課題 1 - Enum を作成する

EyeColor という Enum を作成し、前のモジュールの Person クラスに実装してください。EyeColor には以下の値を含める必要があります。

  • BLUE
  • BROWN
  • GREEN
  • HAZEL

Enumはゲーム開発でよく使われます

さまざまなゲームのドキュメントを参照すると、武器、敵、レベルなどを定義するためにEnumを使用していることがよくあります。これは、コードでこれらのものを処理しやすくし、エラーを回避しやすくするためです。

https://learn.microsoft.com/en-us/minecraft/creator/scriptapi/minecraft/server/blockpistonstate?view=minecraft-bedrock-stable

Congrats you now understand enums