logo

wyliczenie w Pythonie

Wyliczenia w Pythonie są implementowane przy użyciu modułu o nazwie „ wyliczenie '. Wyliczenia są tworzone przy użyciu zajęcia . Wyliczenia mają nazwy i wartości z nimi związane. Omówmy różne koncepcje Pyton Wyliczenie w tym artykule.

Co to są wyliczenia i dlaczego są przydatne?

Wyliczenia lub Wyliczenia to zestaw nazw symbolicznych powiązanych z unikalnymi wartościami. Można go iterować, aby zwrócić jego elementy kanoniczne w kolejności definicji. Umożliwia tworzenie bardziej czytelnego i samodokumentującego się kodu przy użyciu znaczących nazw zamiast dowolnych wartości.

Właściwości Enuma

  • Wyliczenia mogą być wyświetlane jako smyczkowy Lub repr.
  • Wyliczenia można sprawdzić pod kątem ich typów za pomocą typ() .
  • nazwa Słowo kluczowe ' służy do wyświetlania nazwy elementu wyliczeniowego.

Jakie są zalety Enum

Niektóre z zalet używania wyliczeń obejmują:

  • Łatwość konserwacji: Wyliczenia centralizują definicję wartości nazw, co ułatwia aktualizację lub rozszerzenie zestawu wartości zgodnie z naszymi wymaganiami.
  • Czytelność i samodokumentacja: Wyliczenia nadają wartościom znaczące nazwy, dzięki czemu kod jest bardziej czytelny dla człowieka i zrozumiały.
  • Wpisz bezpieczeństwo : Wyliczenia zapewniają pewien poziom bezpieczeństwa typu, zapewniając, że można używać tylko prawidłowych wartości.
  • Zmniejszone ryzyko błędów : Wyliczenia pomagają zapobiegać użyciu niepoprawnych lub niespójnych wartości w kodzie, zmniejszając ryzyko błędów.

Klasa Enum w Pythonie

Kod Pythona do demonstrowania wyliczeń 



Ten kod definiuje klasę wyliczeniowąSeasonz czterema członkami: WIOSNA LATO JESIEŃ i ZIMA. Prezentuje kluczowe właściwości wyliczenia, takie jak dostęp do elementu wyliczeniowego, jego nazwy i wartości. Dodatkowo pokazuje, jak uzyskać listę wszystkich elementów wyliczeniowych. Dane wyjściowe odzwierciedlają typ wartości nazwy i listę wszystkichSeasonczłonkowie wyliczani.

Python
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)) 

Wyjście: 

Season.SPRING  
SPRING
1


[ ]

Dostęp do trybów  

Dostęp do elementów Enum można uzyskać na dwa sposoby:

  • Według wartości :- W tej metodzie przekazywana jest wartość elementu wyliczeniowego.
  • Po imieniu :- W tej metodzie przekazywana jest nazwa elementu wyliczeniowego.

Dostęp do osobnej wartości lub nazwy można również uzyskać za pomocą przycisku „ nazwa ' Lub ' wartość słowo kluczowe.

jak zablokować reklamy YouTube na Androidzie

Kod definiuje klasę wyliczeniową ' Season' z czterema członkami. Pokazuje, jak uzyskać dostęp do elementów wyliczeniowych według wartości i nazwy. Pokazuje, że można uzyskać element wyliczeniowy, określając jego wartość lub nazwę, a następnie odpowiednio uzyskać dostęp do jego nazwy lub wartości. Ten kod zawiera przykłady dostępu do elementu członkowskiego wyliczenia opartego na wartościach i nazwach.

Python
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) 

Wyjście: 

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

Wyliczenia są iterowalne . Można je iterować za pomocą pętli

W tym przykładzie użyjemy for pętla aby wydrukować wszystkich członków klasy Enum.

Kod definiuje klasę wyliczeniową ' Season' z czterema członkami. Iteruje po elementach wyliczeniowych i wypisuje ich wartości i nazwy. Dane wyjściowe wyświetlają wartość każdego elementu członkowskiego wyliczenia i jego w pełni kwalifikowaną nazwę, umożliwiając pracę z wartościami wyliczeniowymi i wyświetlanie ich.

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

Wyjście: 

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

Wyliczenia obsługują H popiół

W tym przykładzie pokażemy, jak użytkownicy mogą hashować klasę Enum, w której można jej użyć słowniki Lub zestawy .

Ten kod używa ' enum' moduł do definiowania klasy wyliczeniowej ' Animal' z trzema członkami: psem, kotem i lwem. Następnie tworzy słownikdii przypisuje mu wartości na podstawie elementów wyliczeniowych. Na koniec sprawdza, czy słownik pasuje do określonej pary klucz-wartość.

Python
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') 

Wyjście:

jak zdobyć gołębia łownego na Androida
Enum is hashed  

Porównaj wyliczenia w Pythonie

Wyliczenia obsługują dwa typy porównań:

  • Tożsamość :- Są one sprawdzane za pomocą słów kluczowych „ Jest ' I ' nie jest '.
  • Równość :- Porównania równości ' == ' I ' != obsługiwane są również typy '.

Ten kod definiuje klasę wyliczeniowąAnimalza pomocąenummoduł składający się z trzech członków: psa, kota i lwa. Następnie przeprowadza porównania między elementami wyliczeniowymi, aby sprawdzić równość i nierówność.

Python
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') 

Wyjście: 

Dog and cat are different animals  
Lions and cat are different