O Pythonie wyliczających
Jak wspomniano wcześniej, enums to obiekty o stałych wartościach. Mają symboliczne lub reprezentacyjne nazwy związane z ich odpowiednimi wartościami. Są w sposób podobny do innych zmiennych Python, ale są wyposażone w niektóre unikalne funkcje, takie jak obiekty bezpieczne typu i grupowanie. W Pythonie wyliczenia są zawsze reprezentowane przy użyciu znaków górnych, aby wskazać, że mają one stałe wartości. Wyliczenia są szczególnie przydatne w przypadkach, gdy masz predefiniowany zakres możliwych wartości i musisz wybrać i odwołać się do ograniczonych wyborów w logice programu. Wykorzystanie wyliczania w Pythonie można najlepiej zrozumieć za pomocą przykładów. Niektóre z nich są wyjaśnione poniżej.
Tworzenie wyliczania
Możesz tworzyć wyliczenie, konstruując nową klasę, która dziedziczy samą klasę enum. Spójrz na poniższą próbkę kodu:
Od Enum Import EnumPierwsza instrukcja importuje klasę enum z modułu enum. Następnie konstruuje się nowa klasa o nazwie „Kolor”, dziedzicząc klasę enum. Następnie tworzone są niektóre zmienne (elementy enum) o stałych wartościach. Te zmienne reprezentują pięć możliwych opcji. Kilka kolejnych instrukcji drukowania pokazuje, w jaki sposób możesz uzyskać dostęp do tych wyliczeń, ich nazw i wartości. Te stwierdzenia są wyjaśniające. Aby uzyskać dostęp do możliwego wyboru enum, możesz użyć notacji kropki lub podać znaną wartość jako argument dla klasy. Po uruchomieniu powyższej próbki kodu należy uzyskać następujące dane wyjściowe:
Kolor.ŻÓŁTYJak widać na wyjściu, istnieje wiele sposobów dostępu do członków enum. Zauważ, że wywołanie funkcji drukowania na enu. Tak więc odnosząc się do koloru.Żółty zwróci kolor.Żółty, a nie 1.
Iteracja przez wyliczenia
Możesz iterować za pośrednictwem obiektu typu enum i zdobyć jego elementy za pomocą instrukcji pętli.
Od Enum Import EnumZa pomocą zmiennej „C” możesz uzyskać dostęp do każdego elementu obiektu typu Enum Color Enum. Po uruchomieniu powyższej próbki kodu należy uzyskać następujące dane wyjściowe.
Żółty 1Nazwa członków enum musi być unikalna, ale duplikaty są dozwolone
Nie możesz utworzyć dwóch członków enum o tej samej nazwie, ale ich wartości nie mają takich ograniczeń. Poniższa próbka kodu spowoduje błąd, ponieważ istnieją dwa elementy enum o samych nazwach.
Od Enum Import EnumPo uruchomieniu powyższej próbki kodu należy uzyskać błąd podobny do tego:
Plik "/usr/lib/python3.9/enum.py ", wiersz 133, w __setitem__Jak widać na wyjściu, zduplikowane nazwy nie są dozwolone dla członków enum. Jednak następujący kod jest ważny, gdy dwóch członków enum ma te same wartości.
Od Enum Import EnumJeśli chcesz również wymusić unikalne wartości członków enum wraz z ich nazwami, możesz użyć „unikalnego” dekoratora, aby zapobiec zduplikowaniu wartości.
Od enum Import Enum, unikalneDekorator „@Unique” wymusza obiekty typu enum, aby rzucić błąd, gdy są duplikatowe wartości przypisane do członków enum. Po uruchomieniu powyższej próbki kodu należy uzyskać następujące dane wyjściowe:
Plik "/usr/lib/python3.9/enum.py ", linia 989, w unikalnymAuto Przypisz wartości do członków enum
Jeśli wartości członków enum nie mają dla Ciebie znaczenia, możesz użyć metody „automatycznej” dostępnej w module enum, aby automatycznie przypisać liczby sekwencyjne do wyliczenia członków.
Od Enum Import Enum, AutoJak widać w wyżej wymienionej próbce kodu, zamiast jawnie przypisywać niektóre wartości do członków enum, funkcja automatyczna została wywołana podczas tworzenia każdego członka. Metoda automatycznego zawsze przypisuje 1 jako pierwszą wartość. Po uruchomieniu powyższej próbki kodu należy uzyskać następujące dane wyjściowe:
Żółty 1Wniosek
Enums Typ Obiekty w Pythonie pozwalają tworzyć zmienne o stałym stylu o unikalnych nazwach. Te zmienne, zwykle nazywane członkami enum, mogą być reprezentowane przez ludzkie czytelne struny. Enums są szczególnie przydatne, gdy chcesz wybrać jeden lub więcej opcji z grupy ograniczonych opcji.