logo

enum v Pythonu

Výčty v Pythonu jsou implementovány pomocí modulu s názvem enum . Výčty se vytvářejí pomocí třídy . Enumové mají jména a hodnoty s nimi spojené. Pojďme se podívat na různé koncepty Krajta Výčet v tomto článku.

Co jsou výčty a proč jsou užitečné?

Enumerations nebo Enums je sada symbolických jmen vázaných na jedinečné hodnoty. Může být iterován, aby se vrátily jeho kanonické členy v pořadí definice. Poskytuje způsob, jak vytvořit čitelnější a samostatně dokumentující kód pomocí smysluplných názvů namísto libovolných hodnot.



Vlastnosti Enum

  • Výčty lze zobrazit jako tětiva nebo repr.
  • Typy výčtů lze zkontrolovat pomocí typ() .
  • The název klíčové slovo se používá k zobrazení jména člena enum.

Jaké jsou výhody Enum

Některé z výhod používání výčtů zahrnují:

  • Snadná údržba: Výčty centralizují definici hodnot názvů, což usnadňuje upgrade nebo rozšíření sady hodnot podle našich požadavků.
  • Čitelnost a vlastní dokumentace: Výčty poskytují hodnotám smysluplná jména, takže kód je pro člověka čitelnější a samovysvětlující.
  • Typová bezpečnost : Výčty poskytují určitou úroveň typové bezpečnosti a zajišťují, že lze použít pouze platné hodnoty.
  • Snížené riziko chyb : Výčty pomáhají zabránit použití nesprávných nebo nekonzistentních hodnot ve vašem kódu a snižují riziko chyb a chyb.

Třída Enum v Pythonu

Kód Pythonu pro demonstraci výčtů

Tento kód definuje třídu výčtuSeason>se čtyřmi členy: JARO, LÉTO, PODZIM a ZIMA. Ukazuje klíčové vlastnosti výčtu, jako je přístup k členu výčtu, jeho název a hodnota. Navíc ukazuje, jak získat seznam všech členů výčtu. Výstup odráží název, hodnotu, typ a seznam všechSeason>enum členů.



Python3




co je úl



from> enum>import> Enum> class> Season(Enum):> >SPRING>=> 1> >SUMMER>=> 2> >AUTUMN>=> 3> >WINTER>=> 4> print>(Season.SPRING)> print>(Season.SPRING.name)> print>(Season.SPRING.value)> print>(>type>(Season.SPRING))> print>(>repr>(Season.SPRING))> print>(>list>(Season))>

>

>

velikonoční vajíčka pro android

Výstup:

Season.SPRING SPRING 1   [, , , ]>

Přístup k režimům

Ke členům výčtu lze přistupovat dvěma způsoby:

  • Podle hodnoty :- V této metodě se předává hodnota členu enum.
  • Podle jména :- V této metodě se předává jméno člena enum.

K samostatné hodnotě nebo názvu lze také přistupovat pomocí název nebo hodnota klíčové slovo.

Kód definuje třídu výčtu ' Season'> se čtyřmi členy. Ukazuje, jak přistupovat k členům výčtu podle hodnoty a názvu. Ukazuje, že můžete získat člen výčtu zadáním jeho hodnoty nebo názvu a podle toho pak přistupovat k jeho názvu nebo hodnotě. Tento kód poskytuje příklady pro přístup členů výčtu na základě hodnoty i názvu.

Python3




from> enum>import> Enum> class> Season(Enum):> >SPRING>=> 1> >SUMMER>=> 2> >AUTUMN>=> 3> >WINTER>=> 4> print>(>'The enum member associated with value 2 is : '>, Season(>2>).name)> print>(>'The enum member associated with name AUTUMN is : '>, Season[>'AUTUMN'>].value)>

>

>

Výstup:

The enum member associated with value 2 is : SUMMER The enum member associated with name AUTUMN is : 3>

Výčty jsou iterovatelné . Mohou být iterovány pomocí smyček

V tomto příkladu použijeme pro smyčka vytisknout všechny členy třídy Enum.

Kód definuje třídu výčtu ' Season'> se čtyřmi členy. Iteruje členy výčtu a vytiskne jejich hodnoty a názvy. Výstup zobrazuje hodnotu každého člena výčtu a jeho plně kvalifikovaný název, což poskytuje způsob práce s hodnotami výčtu a jejich zobrazení.

Python3

kali linuxové příkazy




from> enum>import> Enum> class> Season(Enum):> >SPRING>=> 1> >SUMMER>=> 2> >AUTUMN>=> 3> >WINTER>=> 4> for> season>in> (Season):> >print>(season.value,>'-'>,season)>

>

>

Výstup:

1 - Season.SPRING 2 - Season.SUMMER 3 - Season.AUTUMN 4 - Season.WINTER>

Podpora výčtů H popelavý

V tomto příkladu si ukážeme, jak mohou uživatelé hashovat třídu Enum, kterou lze použít v slovníky nebo sady .

Tento kód používá ' enum'> modul k definování výčtové třídy ' Animal'> se třemi členy: pes, kočka a lev. Poté vytvoří slovníkdi>a přiřazuje mu hodnoty na základě členů výčtu. Nakonec zkontroluje, zda se slovník shoduje s konkrétním párem klíč–hodnota.

Python3




import> enum> class> Animal(enum.Enum):> >dog>=> 1> >cat>=> 2> >lion>=> 3> di>=> {}> di[Animal.dog]>=> 'bark'> di[Animal.lion]>=> 'roar'> if> di>=>=> {Animal.dog:>'bark'>, Animal.lion:>'roar'>}:> >print>(>'Enum is hashed'>)> else>:> >print>(>'Enum is not hashed'>)>

sousední úhly

>

nahradit řetězec java

>

Výstup:

Enum is hashed>

Porovnejte výčty v Pythonu

Výčty podporují dva typy srovnání, kterými jsou:

  • Identita :- Kontrolují se pomocí klíčových slov je a není .
  • Rovnost :- Srovnání rovnosti == a != typy jsou také podporovány.

Tento kód definuje třídu výčtuAnimal>za použitíenum>modul se třemi členy: pes, kočka a lev. Poté provede porovnání mezi členy výčtu, aby zkontroloval rovnost a nerovnost.

Python3




import> enum> class> Animal(enum.Enum):> >dog>=> 1> >cat>=> 2> >lion>=> 3> if> Animal.dog>is> Animal.cat:> >print>(>'Dog and cat are same animals'>)> else>:> >print>(>'Dog and cat are different animals'>)> if> Animal.lion !>=> Animal.cat:> >print>(>'Lions and cat are different'>)> else>:> >print>(>'Lions and cat are same'>)>

>

>

Výstup:

Dog and cat are different animals Lions and cat are different>