Powinienem wyjaśnić parametry dostępu, znam rzecz Dxvalue, chcę, aby konwersja ciągu Dx zwróciła wartość, przepraszam, jeśli pytanie nie wyjaśnia warunku.
Kiedy porównuję to z wartością całkowitą, zwraca ona jako obiekt. Np if D.x == 10: .... : . Jakie podejście należy przyjąć w przypadku liczb całkowitych?
@alper: dokładnie w ten sam sposób; D.xjest obiektem wyliczenia, D.x.valuejest wartością całkowitą. Jeśli wartości wyliczenia muszą zachowywać się jak liczby całkowite, użyj IntEnumtypu , w którym każdy element jest podklasą inti tak IntEnumD.x == 10będzie działać.
@alper: ta __eq__implementacja nie działa, gdy otherjest inną wartością wyliczenia; D.x == D.y, gdzie D.x.value == D.y.valuebyłoby prawdą, nie powiedzie się na przykład. Wygląda na to, że chcesz użyć IntEnumzamiast tego Enum.
Atrybuty z pojedynczym podkreśleniem są wewnętrzne dla wygenerowanej klasy wyliczeniowej; lepiej trzymaj się udokumentowanego atrybutu (który jest specjalnym deskryptorem, aby nadal można było używać go valuejako nazwy w typie wyliczenia).
Używamy plików cookie i innych technologii śledzenia w celu poprawy komfortu przeglądania naszej witryny, aby wyświetlać spersonalizowane treści i ukierunkowane reklamy, analizować ruch w naszej witrynie, i zrozumieć, skąd pochodzą nasi goście.
Kontynuując, wyrażasz zgodę na korzystanie z plików cookie i innych technologii śledzenia oraz potwierdzasz, że masz co najmniej 16 lat lub zgodę rodzica lub opiekuna.