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