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 strunowy Lub repr.
- Wyliczenia można sprawdzić pod kątem ich typów za pomocą typ() .
- The 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ą:
jak odkryć aplikację na Androidzie
- Ł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 typów, 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ąSeason>z czterema członkami: WIOSNA, LATO, JESIEŃ i ZIMA. Prezentuje kluczowe właściwości wyliczenia, takie jak dostęp do elementu wyliczeniowego, jego nazwa i wartość. Dodatkowo pokazuje, jak uzyskać listę wszystkich elementów wyliczeniowych. Dane wyjściowe odzwierciedlają nazwę, wartość, typ i listę wszystkichSeason>członkowie wyliczani.
Python3
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.
- Wg nazwy :- W tej metodzie przekazywana jest nazwa elementu wyliczeniowego.
Dostęp do osobnej wartości lub nazwy można również uzyskać za pomocą nazwa Lub wartość słowo kluczowe.
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 uzyskać odpowiedni 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.
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)> |
>
>
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 wyliczeniowego i jego pełną nazwę, umożliwiając pracę z wartościami wyliczeniowymi i wyświetlanie ich.
Python3
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łownikdi>i przypisuje mu wartości na podstawie elementów wyliczeniowych. Na koniec sprawdza, czy słownik pasuje do określonej pary klucz-wartość.
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'>)> |
>
>
Wyjście:
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 != typy są również obsługiwane.
Ten kod definiuje klasę wyliczeniowąAnimal>używającenum>moduł 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ść.
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'>)> |
Nazwa
>
>
Wyjście:
Dog and cat are different animals Lions and cat are different>