Hướng dẫn how do you return enum value in python? - làm thế nào để bạn trả về giá trị enum trong python?

Mới trong phiên bản 3.4.

Mã nguồn: lib/enum.py Lib/enum.py


Một bảng liệt kê:

  • là một tập hợp các tên biểu tượng (thành viên) bị ràng buộc với các giá trị duy nhất

  • có thể được lặp đi lặp lại để trả lại các thành viên của mình theo thứ tự định nghĩa

  • Sử dụng Cú pháp gọi để trả về các thành viên theo giá trị

  • Sử dụng cú pháp chỉ mục để trả về các thành viên theo tên

Các liệt kê được tạo bằng cách sử dụng cú pháp

>>> Color.GREEN

4 hoặc bằng cách sử dụng cú pháp gọi chức năng:

>>> from enum import Enum

>>> # class syntax
>>> class Color(Enum):
...     RED = 1
...     GREEN = 2
...     BLUE = 3

>>> # functional syntax
>>> Color = Enum('Color', ['RED', 'GREEN', 'BLUE'])

Mặc dù chúng ta có thể sử dụng cú pháp

>>> Color.GREEN

4 để tạo enum, Enums không phải là các lớp Python bình thường. Xem enums khác nhau như thế nào? để biết thêm chi tiết.How are Enums different? for more details.

Ghi chú

Danh pháp

  • Lớp

    >>> Color.GREEN
    
    
    6 là một liệt kê (hoặc enum)

  • Các thuộc tính

    >>> Color.GREEN
    
    
    7,
    >>> Color.GREEN
    
    
    8, v.v., là các thành viên (hoặc thành viên) liệt kê và là hằng số chức năng.

  • Các thành viên ENUM có tên và giá trị (tên của

    >>> Color.GREEN
    
    
    7 là
    >>> Color['BLUE']
    
    
    0, giá trị của
    >>> Color['BLUE']
    
    
    1 là
    >>> Color['BLUE']
    
    
    2, v.v.)


Nội dung mô -đun

>>> Color['BLUE']

3

>>> Color['BLUE']

4 cho enum và các lớp con của nó.

>>> Color['BLUE']

5

Lớp cơ sở để tạo các hằng số được liệt kê.

>>> Color['BLUE']

6

Lớp cơ sở để tạo các hằng số được liệt kê cũng là các lớp con của

>>> Color['BLUE']

7. (Ghi chú)

>>> Color['BLUE']

8

Lớp cơ sở để tạo các hằng số được liệt kê cũng là các lớp con của

>>> Color['BLUE']

9. (Ghi chú)

>>> list(Color)
[, , ]
0

Lớp cơ sở để tạo các hằng số được liệt kê có thể được kết hợp bằng cách sử dụng các hoạt động bitwise mà không mất tư cách thành viên

>>> list(Color)
[, , ]
0.

>>> list(Color)
[, , ]
2

Lớp cơ sở để tạo các hằng số được liệt kê có thể được kết hợp bằng cách sử dụng các toán tử bitwise mà không mất tư cách thành viên

>>> list(Color)
[, , ]
2 của họ.
>>> list(Color)
[, , ]
2 Thành viên cũng là các lớp con của
>>> Color['BLUE']

7. (Ghi chú)

>>> list(Color)
[, , ]
6

>>> list(Color)
[, , ]
7

Một bảng liệt kê với các giá trị

>>> list(Color)
[, , ]
8,
>>> list(Color)
[, , ]
9 và
>>> list(reversed(Color))
[, , ]
0, để sử dụng với
>>> list(reversed(Color))
[, , ]
1 để đảm bảo các ràng buộc khác nhau được đáp ứng bởi một bảng liệt kê nhất định.

>>> list(reversed(Color))
[, , ]
2

Một bảng liệt kê với các giá trị

>>> list(reversed(Color))
[, , ]
3,
>>> list(reversed(Color))
[, , ]
4,
>>> list(reversed(Color))
[, , ]
5 và
>>> list(reversed(Color))
[, , ]
6 cho phép kiểm soát chi tiết hơn về cách các giá trị không hợp lệ được xử lý trong một bảng liệt kê.

>>> list(reversed(Color))
[, , ]
7

Các trường hợp được thay thế bằng một giá trị thích hợp cho các thành viên Enum.

>>> Color['BLUE']

8 mặc định cho phiên bản có tên dưới của tên thành viên, trong khi các enum khác mặc định là 1 và tăng từ đó.

>>> list(reversed(Color))
[, , ]
9

Cho phép các thành viên

>>> Color['BLUE']

5 có các thuộc tính mà không mâu thuẫn với tên thành viên.

>>> Color.BLUE.name
'BLUE'
1

Người trang trí lớp Enum đảm bảo chỉ có một tên bị ràng buộc với bất kỳ một giá trị nào.

>>> list(reversed(Color))
[, , ]
1

Bộ trang trí lớp Enum kiểm tra các ràng buộc có thể chọn người dùng trên một bảng liệt kê.

>>> Color.BLUE.name
'BLUE'
3

Biến

>>> Color.BLUE.name
'BLUE'
4 thành một thành viên. Có thể được sử dụng như một người trang trí.

>>> Color.BLUE.name
'BLUE'
5

Không biến

>>> Color.BLUE.name
'BLUE'
4 thành một thành viên. Có thể được sử dụng như một người trang trí.

>>> Color.BLUE.name
'BLUE'
7

Sửa đổi

>>> Color.BLUE.name
'BLUE'
8 và
>>> Color.BLUE.name
'BLUE'
9 của một enum để hiển thị các thành viên của mình là thuộc về mô -đun thay vì lớp của nó. Chỉ nên được sử dụng nếu các thành viên ENUM sẽ được xuất sang không gian tên toàn cầu mô -đun.

>>> from datetime import date
>>> class Weekday(Enum):
...     MONDAY = 1
...     TUESDAY = 2
...     WEDNESDAY = 3
...     THURSDAY = 4
...     FRIDAY = 5
...     SATURDAY = 6
...     SUNDAY = 7
...     @classmethod
...     def today(cls):
...         print('today is %s' % cls(date.today().isoweekday()).name)
>>> dir(Weekday.SATURDAY)
['__class__', '__doc__', '__eq__', '__hash__', '__module__', 'name', 'today', 'value']
0

Trả về một danh sách tất cả các số nguyên power-of-Two có trong một lá cờ.

Mới trong phiên bản 3.6:

>>> list(Color)
[, , ]
0,
>>> list(Color)
[, , ]
2,
>>> list(reversed(Color))
[, , ]
7
>>> list(Color)
[, , ]
0,
>>> list(Color)
[, , ]
2,
>>> list(reversed(Color))
[, , ]
7

Mới trong phiên bản 3.11:

>>> Color['BLUE']

8,
>>> list(Color)
[, , ]
7,
>>> list(Color)
[, , ]
6,
>>> list(reversed(Color))
[, , ]
2,
>>> from datetime import date
>>> class Weekday(Enum):
...     MONDAY = 1
...     TUESDAY = 2
...     WEDNESDAY = 3
...     THURSDAY = 4
...     FRIDAY = 5
...     SATURDAY = 6
...     SUNDAY = 7
...     @classmethod
...     def today(cls):
...         print('today is %s' % cls(date.today().isoweekday()).name)
>>> dir(Weekday.SATURDAY)
['__class__', '__doc__', '__eq__', '__hash__', '__module__', 'name', 'today', 'value']
8,
>>> from datetime import date
>>> class Weekday(Enum):
...     MONDAY = 1
...     TUESDAY = 2
...     WEDNESDAY = 3
...     THURSDAY = 4
...     FRIDAY = 5
...     SATURDAY = 6
...     SUNDAY = 7
...     @classmethod
...     def today(cls):
...         print('today is %s' % cls(date.today().isoweekday()).name)
>>> dir(Weekday.SATURDAY)
['__class__', '__doc__', '__eq__', '__hash__', '__module__', 'name', 'today', 'value']
9,
>>> from enum import auto
>>> class PowersOfThree(Enum):
...     @staticmethod
...     def _generate_next_value_(name, start, count, last_values):
...         return (count + 1) * 3
...     FIRST = auto()
...     SECOND = auto()
>>> PowersOfThree.SECOND.value
6
0,
>>> from enum import auto
>>> class PowersOfThree(Enum):
...     @staticmethod
...     def _generate_next_value_(name, start, count, last_values):
...         return (count + 1) * 3
...     FIRST = auto()
...     SECOND = auto()
>>> PowersOfThree.SECOND.value
6
1,
>>> from enum import auto
>>> class PowersOfThree(Enum):
...     @staticmethod
...     def _generate_next_value_(name, start, count, last_values):
...         return (count + 1) * 3
...     FIRST = auto()
...     SECOND = auto()
>>> PowersOfThree.SECOND.value
6
2
>>> Color['BLUE']

8,
>>> list(Color)
[, , ]
7,
>>> list(Color)
[, , ]
6,
>>> list(reversed(Color))
[, , ]
2,
>>> from datetime import date
>>> class Weekday(Enum):
...     MONDAY = 1
...     TUESDAY = 2
...     WEDNESDAY = 3
...     THURSDAY = 4
...     FRIDAY = 5
...     SATURDAY = 6
...     SUNDAY = 7
...     @classmethod
...     def today(cls):
...         print('today is %s' % cls(date.today().isoweekday()).name)
>>> dir(Weekday.SATURDAY)
['__class__', '__doc__', '__eq__', '__hash__', '__module__', 'name', 'today', 'value']
8,
>>> from datetime import date
>>> class Weekday(Enum):
...     MONDAY = 1
...     TUESDAY = 2
...     WEDNESDAY = 3
...     THURSDAY = 4
...     FRIDAY = 5
...     SATURDAY = 6
...     SUNDAY = 7
...     @classmethod
...     def today(cls):
...         print('today is %s' % cls(date.today().isoweekday()).name)
>>> dir(Weekday.SATURDAY)
['__class__', '__doc__', '__eq__', '__hash__', '__module__', 'name', 'today', 'value']
9,
>>> from enum import auto
>>> class PowersOfThree(Enum):
...     @staticmethod
...     def _generate_next_value_(name, start, count, last_values):
...         return (count + 1) * 3
...     FIRST = auto()
...     SECOND = auto()
>>> PowersOfThree.SECOND.value
6
0,
>>> from enum import auto
>>> class PowersOfThree(Enum):
...     @staticmethod
...     def _generate_next_value_(name, start, count, last_values):
...         return (count + 1) * 3
...     FIRST = auto()
...     SECOND = auto()
>>> PowersOfThree.SECOND.value
6
1,
>>> from enum import auto
>>> class PowersOfThree(Enum):
...     @staticmethod
...     def _generate_next_value_(name, start, count, last_values):
...         return (count + 1) * 3
...     FIRST = auto()
...     SECOND = auto()
>>> PowersOfThree.SECOND.value
6
2


Loại dữ liệu¶

classenum.EnumType¶ enum.EnumType

EnumType là metaclass cho các liệt kê. Có thể phân lớp enumtype - xem phân lớp enumtype để biết chi tiết.metaclass for enum enumerations. It is possible to subclass EnumType – see Subclassing EnumType for details.

EnumType chịu trách nhiệm thiết lập đúng các phương thức

>>> from enum import auto
>>> class PowersOfThree(Enum):
...     @staticmethod
...     def _generate_next_value_(name, start, count, last_values):
...         return (count + 1) * 3
...     FIRST = auto()
...     SECOND = auto()
>>> PowersOfThree.SECOND.value
6
3,
>>> from enum import auto
>>> class PowersOfThree(Enum):
...     @staticmethod
...     def _generate_next_value_(name, start, count, last_values):
...         return (count + 1) * 3
...     FIRST = auto()
...     SECOND = auto()
>>> PowersOfThree.SECOND.value
6
4,
>>> from enum import auto
>>> class PowersOfThree(Enum):
...     @staticmethod
...     def _generate_next_value_(name, start, count, last_values):
...         return (count + 1) * 3
...     FIRST = auto()
...     SECOND = auto()
>>> PowersOfThree.SECOND.value
6
5 và
>>> from enum import auto
>>> class PowersOfThree(Enum):
...     @staticmethod
...     def _generate_next_value_(name, start, count, last_values):
...         return (count + 1) * 3
...     FIRST = auto()
...     SECOND = auto()
>>> PowersOfThree.SECOND.value
6
6 trên Enum cuối cùng, cũng như tạo các thành viên Enum, xử lý đúng các bản sao, cung cấp lặp lại lớp Enum, v.v.

__Contains __ (CLS, thành viên) ¶(cls, member)

Trả về

>>> from enum import auto
>>> class PowersOfThree(Enum):
...     @staticmethod
...     def _generate_next_value_(name, start, count, last_values):
...         return (count + 1) * 3
...     FIRST = auto()
...     SECOND = auto()
>>> PowersOfThree.SECOND.value
6
7 Nếu thành viên thuộc về
>>> from enum import auto
>>> class PowersOfThree(Enum):
...     @staticmethod
...     def _generate_next_value_(name, start, count, last_values):
...         return (count + 1) * 3
...     FIRST = auto()
...     SECOND = auto()
>>> PowersOfThree.SECOND.value
6
8:

>>> some_var = Color.RED
>>> some_var in Color
True

Ghi chú

Danh pháp

Lớp
>>> Color.GREEN

6 là một liệt kê (hoặc enum)
(cls)

Các thuộc tính

>>> Color.GREEN

7,
>>> Color.GREEN

8, v.v., là các thành viên (hoặc thành viên) liệt kê và là hằng số chức năng.

>>> dir(Color)
['BLUE', 'GREEN', 'RED', '__class__', '__contains__', '__doc__', '__getitem__', '__init_subclass__', '__iter__', '__len__', '__members__', '__module__', '__name__', '__qualname__']

Các thành viên ENUM có tên và giá trị (tên của
>>> Color.GREEN

7 là
>>> Color['BLUE']

0, giá trị của
>>> Color['BLUE']

1 là
>>> Color['BLUE']

2, v.v.)
(cls, name)

Nội dung mô -đun

>>> Color.GREEN

>>> Color['BLUE']

4 cho enum và các lớp con của nó.
(cls, name)

Lớp cơ sở để tạo các hằng số được liệt kê.

>>> Color['BLUE']

Lớp cơ sở để tạo các hằng số được liệt kê cũng là các lớp con của
>>> Color['BLUE']

7. (Ghi chú)
(cls)

Lớp cơ sở để tạo các hằng số được liệt kê cũng là các lớp con của

>>> Color['BLUE']

9. (Ghi chú)

>>> list(Color)
[, , ]

Lớp cơ sở để tạo các hằng số được liệt kê có thể được kết hợp bằng cách sử dụng các hoạt động bitwise mà không mất tư cách thành viên
>>> list(Color)
[, , ]
0.
(cls)

Lớp cơ sở để tạo các hằng số được liệt kê có thể được kết hợp bằng cách sử dụng các toán tử bitwise mà không mất tư cách thành viên

>>> list(Color)
[, , ]
2 của họ.
>>> list(Color)
[, , ]
2 Thành viên cũng là các lớp con của
>>> Color['BLUE']

7. (Ghi chú)

Một bảng liệt kê với các giá trị
>>> list(Color)
[, , ]
8,
>>> list(Color)
[, , ]
9 và
>>> list(reversed(Color))
[, , ]
0, để sử dụng với
>>> list(reversed(Color))
[, , ]
1 để đảm bảo các ràng buộc khác nhau được đáp ứng bởi một bảng liệt kê nhất định.
(cls)

Một bảng liệt kê với các giá trị

>>> list(reversed(Color))
[, , ]
3,
>>> list(reversed(Color))
[, , ]
4,
>>> list(reversed(Color))
[, , ]
5 và
>>> list(reversed(Color))
[, , ]
6 cho phép kiểm soát chi tiết hơn về cách các giá trị không hợp lệ được xử lý trong một bảng liệt kê.

>>> list(reversed(Color))
[, , ]

Các trường hợp được thay thế bằng một giá trị thích hợp cho các thành viên Enum.
>>> Color['BLUE']

8 mặc định cho phiên bản có tên dưới của tên thành viên, trong khi các enum khác mặc định là 1 và tăng từ đó.
enum.Enum

Cho phép các thành viên

>>> Color['BLUE']

5 có các thuộc tính mà không mâu thuẫn với tên thành viên.

Người trang trí lớp Enum đảm bảo chỉ có một tên bị ràng buộc với bất kỳ một giá trị nào.

Bộ trang trí lớp Enum kiểm tra các ràng buộc có thể chọn người dùng trên một bảng liệt kê.

>>> Color.BLUE.name
'BLUE'

Biến
>>> Color.BLUE.name
'BLUE'
4 thành một thành viên. Có thể được sử dụng như một người trang trí.

Không biến

>>> Color.BLUE.name
'BLUE'
4 thành một thành viên. Có thể được sử dụng như một người trang trí.

Ghi chú

Danh pháp

Lớp

>>> Color.GREEN

6 là một liệt kê (hoặc enum)

_phớt lờ_¶

>>> some_var = Color.RED
>>> some_var in Color
True
09 chỉ được sử dụng trong quá trình tạo và được loại bỏ khỏi bảng liệt kê sau khi tạo ra hoàn tất.

>>> some_var = Color.RED
>>> some_var in Color
True
09 là danh sách các tên sẽ không trở thành thành viên và tên của họ cũng sẽ bị xóa khỏi bảng liệt kê đã hoàn thành. Xem thời gian cho một ví dụ.TimePeriod for an example.

__call __ (cls, value, name = none, \*, module = none, Qualname = none, type = none, start = 1, boundary = none)(cls, value, names=None, \*, module=None, qualname=None, type=None, start=1, boundary=None)

Phương pháp này được gọi theo hai cách khác nhau:

  • Để tìm kiếm một thành viên hiện có:

    CLS

    Lớp enum được gọi.

    giá trị

    Giá trị để tra cứu.

  • Để sử dụng enum

    >>> from enum import auto
    >>> class PowersOfThree(Enum):
    ...     @staticmethod
    ...     def _generate_next_value_(name, start, count, last_values):
    ...         return (count + 1) * 3
    ...     FIRST = auto()
    ...     SECOND = auto()
    >>> PowersOfThree.SECOND.value
    6
    
    8 để tạo một enum mới:

    CLS

    Lớp enum được gọi.

    giá trị

    Giá trị để tra cứu.

    Để sử dụng enum
    >>> from enum import auto
    >>> class PowersOfThree(Enum):
    ...     @staticmethod
    ...     def _generate_next_value_(name, start, count, last_values):
    ...         return (count + 1) * 3
    ...     FIRST = auto()
    ...     SECOND = auto()
    >>> PowersOfThree.SECOND.value
    6
    
    8 để tạo một enum mới:

    Tên của enum mới để tạo.

    Tên

    Tên/giá trị của các thành viên cho enum mới.

    Mô -đun

    Tên của mô -đun enum mới được tạo trong.

    tên gọi

    Vị trí thực tế trong mô -đun nơi có thể tìm thấy enum này.

    loại hình

    Một loại hỗn hợp cho enum mới.

    bắt đầu

    Giá trị số nguyên đầu tiên cho enum (được sử dụng bởi

    >>> list(reversed(Color))
    [, , ]
    
    7)

ranh giới(self)

Cách xử lý các giá trị ngoài phạm vi từ các hoạt động bit (chỉ

>>> list(Color)
[, , ]
0)

>>> from datetime import date
>>> class Weekday(Enum):
...     MONDAY = 1
...     TUESDAY = 2
...     WEDNESDAY = 3
...     THURSDAY = 4
...     FRIDAY = 5
...     SATURDAY = 6
...     SUNDAY = 7
...     @classmethod
...     def today(cls):
...         print('today is %s' % cls(date.today().isoweekday()).name)
>>> dir(Weekday.SATURDAY)
['__class__', '__doc__', '__eq__', '__hash__', '__module__', 'name', 'today', 'value']

__dir __ (bản thân) ¶(name, start, count, last_values)

Trả về

>>> some_var = Color.RED
>>> some_var in Color
True
14 và bất kỳ phương thức công khai nào được xác định trên bản thân .__ Class__:

_Generate_Next_Value_ (Tên, Bắt đầu, Đếm, Last_Values) ¶

Tên

Tên của thành viên được xác định (ví dụ: Red Red).

bắt đầu

Giá trị bắt đầu cho enum; Mặc định là 1.

last_values

đếm

Số lượng thành viên hiện được xác định, không bao gồm số này.

>>> from enum import auto
>>> class PowersOfThree(Enum):
...     @staticmethod
...     def _generate_next_value_(name, start, count, last_values):
...         return (count + 1) * 3
...     FIRST = auto()
...     SECOND = auto()
>>> PowersOfThree.SECOND.value
6

Một danh sách các giá trị trước đó.(cls, \**kwds)

Một staticmethod được sử dụng để xác định giá trị tiếp theo được trả về bởi

>>> list(reversed(Color))
[, , ]
7:

__init_subclass __ (cls, \ ** kwds) ¶(cls, value)

Một lớp được sử dụng để cấu hình thêm các lớp con tiếp theo. Theo mặc định, không làm gì cả.

>>> some_var = Color.RED
>>> some_var in Color
True
0

_missing_ (cls, giá trị) ¶(self)

Một lớp học để tìm kiếm các giá trị không tìm thấy trong CLS. Theo mặc định, nó không làm gì cả, nhưng có thể được ghi đè để thực hiện hành vi tìm kiếm tùy chỉnh:

>>> some_var = Color.RED
>>> some_var in Color
True
1

__repr __ (bản thân) ¶(self)

Trả về chuỗi được sử dụng cho các cuộc gọi repr (). Theo mặc định, trả về tên enum, tên thành viên và giá trị, nhưng có thể bị ghi đè:

>>> some_var = Color.RED
>>> some_var in Color
True
2

__str __ (bản thân) ¶(self)

Trả về chuỗi được sử dụng cho các cuộc gọi str (). Theo mặc định, trả về tên enum và tên thành viên, nhưng có thể bị ghi đè:

>>> some_var = Color.RED
>>> some_var in Color
True
3

__format __ (tự) ¶

Trả về chuỗi được sử dụng cho các cuộc gọi format () và f-string. Theo mặc định, trả về

>>> from enum import auto
>>> class PowersOfThree(Enum):
...     @staticmethod
...     def _generate_next_value_(name, start, count, last_values):
...         return (count + 1) * 3
...     FIRST = auto()
...     SECOND = auto()
>>> PowersOfThree.SECOND.value
6
4 trả về, nhưng có thể bị ghi đè:

Ghi chú enum.IntEnum

Sử dụng

>>> list(reversed(Color))
[, , ]
7 với
>>> Color['BLUE']

5 dẫn đến các số nguyên có giá trị ngày càng tăng, bắt đầu từ
>>> some_var = Color.RED
>>> some_var in Color
True
19.

>>> some_var = Color.RED
>>> some_var in Color
True
4

classenum.intenum¶

Intenum giống như enum, nhưng các thành viên của nó cũng là số nguyên và có thể được sử dụng ở bất cứ đâu mà một số nguyên có thể được sử dụng. Nếu bất kỳ hoạt động số nguyên nào được thực hiện với thành viên Intenum, giá trị kết quả sẽ mất trạng thái liệt kê.

Ghi chú

>>> from enum import auto
>>> class PowersOfThree(Enum):
...     @staticmethod
...     def _generate_next_value_(name, start, count, last_values):
...         return (count + 1) * 3
...     FIRST = auto()
...     SECOND = auto()
>>> PowersOfThree.SECOND.value
6
4 is now
>>> some_var = Color.RED
>>> some_var in Color
True
24 to better support the replacement of existing constants use-case.
>>> from enum import auto
>>> class PowersOfThree(Enum):
...     @staticmethod
...     def _generate_next_value_(name, start, count, last_values):
...         return (count + 1) * 3
...     FIRST = auto()
...     SECOND = auto()
>>> PowersOfThree.SECOND.value
6
5 was already
>>> some_var = Color.RED
>>> some_var in Color
True
26 for that same reason.

Sử dụng
>>> list(reversed(Color))
[, , ]
7 với
>>> Color['BLUE']

6 dẫn đến các số nguyên có giá trị ngày càng tăng, bắt đầu từ
>>> some_var = Color.RED
>>> some_var in Color
True
19.
enum.StrEnum

Đã thay đổi trong phiên bản 3.11:

>>> from enum import auto
>>> class PowersOfThree(Enum):
...     @staticmethod
...     def _generate_next_value_(name, start, count, last_values):
...         return (count + 1) * 3
...     FIRST = auto()
...     SECOND = auto()
>>> PowersOfThree.SECOND.value
6
4 hiện là
>>> some_var = Color.RED
>>> some_var in Color
True
24 để hỗ trợ tốt hơn cho việc thay thế trường hợp sử dụng hằng số hiện tại.
>>> from enum import auto
>>> class PowersOfThree(Enum):
...     @staticmethod
...     def _generate_next_value_(name, start, count, last_values):
...         return (count + 1) * 3
...     FIRST = auto()
...     SECOND = auto()
>>> PowersOfThree.SECOND.value
6
5 đã là
>>> some_var = Color.RED
>>> some_var in Color
True
26 vì lý do tương tự.

__format __ (tự) ¶

Trả về chuỗi được sử dụng cho các cuộc gọi format () và f-string. Theo mặc định, trả về

>>> from enum import auto
>>> class PowersOfThree(Enum):
...     @staticmethod
...     def _generate_next_value_(name, start, count, last_values):
...         return (count + 1) * 3
...     FIRST = auto()
...     SECOND = auto()
>>> PowersOfThree.SECOND.value
6
4 trả về, nhưng có thể bị ghi đè:

__format __ (tự) ¶

Trả về chuỗi được sử dụng cho các cuộc gọi format () và f-string. Theo mặc định, trả về

>>> from enum import auto
>>> class PowersOfThree(Enum):
...     @staticmethod
...     def _generate_next_value_(name, start, count, last_values):
...         return (count + 1) * 3
...     FIRST = auto()
...     SECOND = auto()
>>> PowersOfThree.SECOND.value
6
4 trả về, nhưng có thể bị ghi đè:

__format __ (tự) ¶

Trả về chuỗi được sử dụng cho các cuộc gọi format () và f-string. Theo mặc định, trả về

>>> from enum import auto
>>> class PowersOfThree(Enum):
...     @staticmethod
...     def _generate_next_value_(name, start, count, last_values):
...         return (count + 1) * 3
...     FIRST = auto()
...     SECOND = auto()
>>> PowersOfThree.SECOND.value
6
4 trả về, nhưng có thể bị ghi đè:

Ghi chú

Sử dụng
>>> list(reversed(Color))
[, , ]
7 với
>>> Color['BLUE']

5 dẫn đến các số nguyên có giá trị ngày càng tăng, bắt đầu từ
>>> some_var = Color.RED
>>> some_var in Color
True
19.
enum.Flag

classenum.intenum¶

Intenum giống như enum, nhưng các thành viên của nó cũng là số nguyên và có thể được sử dụng ở bất cứ đâu mà một số nguyên có thể được sử dụng. Nếu bất kỳ hoạt động số nguyên nào được thực hiện với thành viên Intenum, giá trị kết quả sẽ mất trạng thái liệt kê.(self, value)

Ghi chú

>>> some_var = Color.RED
>>> some_var in Color
True
5

__iter__(self):

Sử dụng

>>> list(reversed(Color))
[, , ]
7 với
>>> Color['BLUE']

6 dẫn đến các số nguyên có giá trị ngày càng tăng, bắt đầu từ
>>> some_var = Color.RED
>>> some_var in Color
True
19.

>>> some_var = Color.RED
>>> some_var in Color
True
6

__len__(self):

Đã thay đổi trong phiên bản 3.11:

>>> from enum import auto
>>> class PowersOfThree(Enum):
...     @staticmethod
...     def _generate_next_value_(name, start, count, last_values):
...         return (count + 1) * 3
...     FIRST = auto()
...     SECOND = auto()
>>> PowersOfThree.SECOND.value
6
4 hiện là
>>> some_var = Color.RED
>>> some_var in Color
True
24 để hỗ trợ tốt hơn cho việc thay thế trường hợp sử dụng hằng số hiện tại.
>>> from enum import auto
>>> class PowersOfThree(Enum):
...     @staticmethod
...     def _generate_next_value_(name, start, count, last_values):
...         return (count + 1) * 3
...     FIRST = auto()
...     SECOND = auto()
>>> PowersOfThree.SECOND.value
6
5 đã là
>>> some_var = Color.RED
>>> some_var in Color
True
26 vì lý do tương tự.

>>> some_var = Color.RED
>>> some_var in Color
True
7

__bool__(self):

classenum.strenum¶

>>> some_var = Color.RED
>>> some_var in Color
True
8

Strenum giống như enum, nhưng các thành viên của nó cũng là chuỗi và có thể được sử dụng ở hầu hết các nơi giống như một chuỗi có thể được sử dụng. Kết quả của bất kỳ hoạt động chuỗi nào được thực hiện trên hoặc với thành viên Strenum không phải là một phần của bảng liệt kê.(self, other)

Có những vị trí trong stdlib kiểm tra chính xác

>>> Color['BLUE']

9 thay vì phân lớp
>>> Color['BLUE']

9 (tức là
>>> some_var = Color.RED
>>> some_var in Color
True
29 thay vì
>>> some_var = Color.RED
>>> some_var in Color
True
30) và ở những vị trí đó, bạn sẽ cần sử dụng
>>> some_var = Color.RED
>>> some_var in Color
True
31.

>>> some_var = Color.RED
>>> some_var in Color
True
9

Sử dụng
>>> list(reversed(Color))
[, , ]
7 với
>>> Color['BLUE']

8 kết quả trong tên thành viên có hàm lượng thấp hơn làm giá trị.
(self, other)

>>> from enum import auto
>>> class PowersOfThree(Enum):
...     @staticmethod
...     def _generate_next_value_(name, start, count, last_values):
...         return (count + 1) * 3
...     FIRST = auto()
...     SECOND = auto()
>>> PowersOfThree.SECOND.value
6
4 là
>>> some_var = Color.RED
>>> some_var in Color
True
35 để hỗ trợ tốt hơn cho việc thay thế trường hợp sử dụng hằng số hiện có.
>>> from enum import auto
>>> class PowersOfThree(Enum):
...     @staticmethod
...     def _generate_next_value_(name, start, count, last_values):
...         return (count + 1) * 3
...     FIRST = auto()
...     SECOND = auto()
>>> PowersOfThree.SECOND.value
6
5 cũng như vậy
>>> some_var = Color.RED
>>> some_var in Color
True
37 vì lý do tương tự.

>>> dir(Color)
['BLUE', 'GREEN', 'RED', '__class__', '__contains__', '__doc__', '__getitem__', '__init_subclass__', '__iter__', '__len__', '__members__', '__module__', '__name__', '__qualname__']
0

Mới trong phiên bản 3.11.(self, other)

classenum.flag¶

>>> dir(Color)
['BLUE', 'GREEN', 'RED', '__class__', '__contains__', '__doc__', '__getitem__', '__init_subclass__', '__iter__', '__len__', '__members__', '__module__', '__name__', '__qualname__']
1

__invert__(self):

Các thành viên cờ hỗ trợ các toán tử bitwise

>>> some_var = Color.RED
>>> some_var in Color
True
38 (và),
>>> some_var = Color.RED
>>> some_var in Color
True
39 (hoặc),
>>> some_var = Color.RED
>>> some_var in Color
True
40 (XOR) và
>>> some_var = Color.RED
>>> some_var in Color
True
41 (đảo ngược); Kết quả của các nhà khai thác đó là thành viên của việc liệt kê.

>>> dir(Color)
['BLUE', 'GREEN', 'RED', '__class__', '__contains__', '__doc__', '__getitem__', '__init_subclass__', '__iter__', '__len__', '__members__', '__module__', '__name__', '__qualname__']
2

__contains __ (bản thân, giá trị) ¶()

Trả về đúng nếu giá trị tự mình:

__format __ (tự) ¶

Trả về chuỗi được sử dụng cho các cuộc gọi format () và f-string. Theo mặc định, trả về

>>> from enum import auto
>>> class PowersOfThree(Enum):
...     @staticmethod
...     def _generate_next_value_(name, start, count, last_values):
...         return (count + 1) * 3
...     FIRST = auto()
...     SECOND = auto()
>>> PowersOfThree.SECOND.value
6
4 trả về, nhưng có thể bị ghi đè:

Thay đổi trong phiên bản 3.11: repr () của các cờ có giá trị bằng không đã thay đổi. Nó bây giờ là::The repr() of zero-valued flags has changed. It is now::

classenum.intflag¶enum.IntFlag

Intflag giống như cờ, nhưng các thành viên của nó cũng là số nguyên và có thể được sử dụng ở bất cứ đâu mà một số nguyên có thể được sử dụng.

>>> dir(Color)
['BLUE', 'GREEN', 'RED', '__class__', '__contains__', '__doc__', '__getitem__', '__init_subclass__', '__iter__', '__len__', '__members__', '__module__', '__name__', '__qualname__']
3

Nếu bất kỳ hoạt động số nguyên nào được thực hiện với thành viên INTFLAG, kết quả không phải là Intflag:

Nếu một hoạt động cờ được thực hiện với thành viên Intflag và:

  • Kết quả là một intflag hợp lệ: một intflag được trả về

  • Kết quả không phải là một intflag hợp lệ: kết quả phụ thuộc vào cài đặt cờ

Bản repr () của các cờ có giá trị không tên đã thay đổi. Nó bây giờ là:

Ghi chú

Sử dụng

>>> list(reversed(Color))
[, , ]
7 với
>>> list(Color)
[, , ]
2 dẫn đến các số nguyên là sức mạnh của hai, bắt đầu từ
>>> some_var = Color.RED
>>> some_var in Color
True
19.

Đã thay đổi trong phiên bản 3.11:

>>> from enum import auto
>>> class PowersOfThree(Enum):
...     @staticmethod
...     def _generate_next_value_(name, start, count, last_values):
...         return (count + 1) * 3
...     FIRST = auto()
...     SECOND = auto()
>>> PowersOfThree.SECOND.value
6
4 hiện là
>>> some_var = Color.RED
>>> some_var in Color
True
24 để hỗ trợ tốt hơn cho việc thay thế trường hợp sử dụng hằng số hiện tại.
>>> from enum import auto
>>> class PowersOfThree(Enum):
...     @staticmethod
...     def _generate_next_value_(name, start, count, last_values):
...         return (count + 1) * 3
...     FIRST = auto()
...     SECOND = auto()
>>> PowersOfThree.SECOND.value
6
5 đã là
>>> some_var = Color.RED
>>> some_var in Color
True
26 vì lý do tương tự.
>>> from enum import auto
>>> class PowersOfThree(Enum):
...     @staticmethod
...     def _generate_next_value_(name, start, count, last_values):
...         return (count + 1) * 3
...     FIRST = auto()
...     SECOND = auto()
>>> PowersOfThree.SECOND.value
6
4 is now
>>> some_var = Color.RED
>>> some_var in Color
True
24 to better support the replacement of existing constants use-case.
>>> from enum import auto
>>> class PowersOfThree(Enum):
...     @staticmethod
...     def _generate_next_value_(name, start, count, last_values):
...         return (count + 1) * 3
...     FIRST = auto()
...     SECOND = auto()
>>> PowersOfThree.SECOND.value
6
5 was already
>>> some_var = Color.RED
>>> some_var in Color
True
26 for that same reason.

classenum.reprenum¶enum.ReprEnum

>>> some_var = Color.RED
>>> some_var in Color
True
54 sử dụng
>>> Color.BLUE.name
'BLUE'
9 của
>>> Color['BLUE']

5, nhưng
>>> Color.BLUE.name
'BLUE'
8 của loại dữ liệu hỗn hợp:

  • >>> some_var = Color.RED
    >>> some_var in Color
    True
    
    24 cho
    >>> Color['BLUE']
    
    
    6 và
    >>> list(Color)
    [, , ]
    
    2

  • >>> some_var = Color.RED
    >>> some_var in Color
    True
    
    35 cho
    >>> Color['BLUE']
    
    
    8

Kế thừa từ

>>> list(Color)
[, , ]
6 để giữ
>>> some_var = Color.RED
>>> some_var in Color
True
64 của loại dữ liệu hỗn hợp thay vì sử dụng ________ 45-Default
>>> Color.BLUE.name
'BLUE'
8.

Mới trong phiên bản 3.11.

classenum.enumcheck¶ enum.EnumCheck

Enumcheck chứa các tùy chọn được sử dụng bởi

>>> list(reversed(Color))
[, , ]
1 Trình trang trí để đảm bảo các ràng buộc khác nhau; Các ràng buộc không thành công dẫn đến
>>> some_var = Color.RED
>>> some_var in Color
True
68.

ĐỘC NHẤT¶

Đảm bảo rằng mỗi giá trị chỉ có một tên:

>>> dir(Color)
['BLUE', 'GREEN', 'RED', '__class__', '__contains__', '__doc__', '__getitem__', '__init_subclass__', '__iter__', '__len__', '__members__', '__module__', '__name__', '__qualname__']
4

TIẾP DIỄN¶

Đảm bảo rằng không có giá trị thiếu giữa thành viên có giá trị thấp nhất và thành viên có giá trị cao nhất:

>>> dir(Color)
['BLUE', 'GREEN', 'RED', '__class__', '__contains__', '__doc__', '__getitem__', '__init_subclass__', '__iter__', '__len__', '__members__', '__module__', '__name__', '__qualname__']
5

Tên_flags¶

Đảm bảo rằng bất kỳ nhóm/mặt nạ cờ nào chỉ chứa cờ có tên - hữu ích khi các giá trị được chỉ định thay vì được tạo bởi

>>> some_var = Color.RED
>>> some_var in Color
True
69

>>> dir(Color)
['BLUE', 'GREEN', 'RED', '__class__', '__contains__', '__doc__', '__getitem__', '__init_subclass__', '__iter__', '__len__', '__members__', '__module__', '__name__', '__qualname__']
6

Ghi chú

Sử dụng

>>> list(reversed(Color))
[, , ]
7 với
>>> list(Color)
[, , ]
2 dẫn đến các số nguyên là sức mạnh của hai, bắt đầu từ
>>> some_var = Color.RED
>>> some_var in Color
True
19.

Mới trong phiên bản 3.11.

classenum.enumcheck¶enum.FlagBoundary

Enumcheck chứa các tùy chọn được sử dụng bởi

>>> list(reversed(Color))
[, , ]
1 Trình trang trí để đảm bảo các ràng buộc khác nhau; Các ràng buộc không thành công dẫn đến
>>> some_var = Color.RED
>>> some_var in Color
True
68.

ĐỘC NHẤT¶

Đảm bảo rằng mỗi giá trị chỉ có một tên:

>>> dir(Color)
['BLUE', 'GREEN', 'RED', '__class__', '__contains__', '__doc__', '__getitem__', '__init_subclass__', '__iter__', '__len__', '__members__', '__module__', '__name__', '__qualname__']
7

TIẾP DIỄN¶

Đảm bảo rằng không có giá trị thiếu giữa thành viên có giá trị thấp nhất và thành viên có giá trị cao nhất:

>>> dir(Color)
['BLUE', 'GREEN', 'RED', '__class__', '__contains__', '__doc__', '__getitem__', '__init_subclass__', '__iter__', '__len__', '__members__', '__module__', '__name__', '__qualname__']
8

Tên_flags¶

Đảm bảo rằng bất kỳ nhóm/mặt nạ cờ nào chỉ chứa cờ có tên - hữu ích khi các giá trị được chỉ định thay vì được tạo bởi

>>> some_var = Color.RED
>>> some_var in Color
True
69

>>> dir(Color)
['BLUE', 'GREEN', 'RED', '__class__', '__contains__', '__doc__', '__getitem__', '__init_subclass__', '__iter__', '__len__', '__members__', '__module__', '__name__', '__qualname__']
9

Liên tục và được đặt tên_flags được thiết kế để hoạt động với các thành viên có giá trị số nguyên.

classenum.flagboundary¶

>>> Color.GREEN

0

Mới trong phiên bản 3.11.


classenum.enumcheck¶

Enumcheck chứa các tùy chọn được sử dụng bởi

>>> list(reversed(Color))
[, , ]
1 Trình trang trí để đảm bảo các ràng buộc khác nhau; Các ràng buộc không thành công dẫn đến
>>> some_var = Color.RED
>>> some_var in Color
True
68.

ĐỘC NHẤT¶

Đảm bảo rằng mỗi giá trị chỉ có một tên:

  • TIẾP DIỄN¶

  • Đảm bảo rằng không có giá trị thiếu giữa thành viên có giá trị thấp nhất và thành viên có giá trị cao nhất:

  • Tên_flags¶

  • Đảm bảo rằng bất kỳ nhóm/mặt nạ cờ nào chỉ chứa cờ có tên - hữu ích khi các giá trị được chỉ định thay vì được tạo bởi

    >>> some_var = Color.RED
    >>> some_var in Color
    True
    
    69

  • Liên tục và được đặt tên_flags được thiết kế để hoạt động với các thành viên có giá trị số nguyên.

  • classenum.flagboundary¶

    Ghi chú

    Sử dụng

    >>> list(reversed(Color))
    [, , ]
    
    7 với
    >>> list(Color)
    [, , ]
    
    2 dẫn đến các số nguyên là sức mạnh của hai, bắt đầu từ
    >>> some_var = Color.RED
    >>> some_var in Color
    True
    
    19.

    Đã thay đổi trong phiên bản 3.11:

    >>> from enum import auto
    >>> class PowersOfThree(Enum):
    ...     @staticmethod
    ...     def _generate_next_value_(name, start, count, last_values):
    ...         return (count + 1) * 3
    ...     FIRST = auto()
    ...     SECOND = auto()
    >>> PowersOfThree.SECOND.value
    6
    
    4 hiện là
    >>> some_var = Color.RED
    >>> some_var in Color
    True
    
    24 để hỗ trợ tốt hơn cho việc thay thế trường hợp sử dụng hằng số hiện tại.
    >>> from enum import auto
    >>> class PowersOfThree(Enum):
    ...     @staticmethod
    ...     def _generate_next_value_(name, start, count, last_values):
    ...         return (count + 1) * 3
    ...     FIRST = auto()
    ...     SECOND = auto()
    >>> PowersOfThree.SECOND.value
    6
    
    5 đã là
    >>> some_var = Color.RED
    >>> some_var in Color
    True
    
    26 vì lý do tương tự.

classenum.reprenum¶

>>> some_var = Color.RED
>>> some_var in Color
True
84,
>>> some_var = Color.RED
>>> some_var in Color
True
88,
>>> some_var = Color.RED
>>> some_var in Color
True
89

>>> some_var = Color.RED
>>> some_var in Color
True
54 sử dụng
>>> Color.BLUE.name
'BLUE'
9 của
>>> Color['BLUE']

5, nhưng
>>> Color.BLUE.name
'BLUE'
8 của loại dữ liệu hỗn hợp:
>>> some_var = Color.RED
>>> some_var in Color
True
09


>>> some_var = Color.RED >>> some_var in Color True 24 cho >>> Color['BLUE'] 6 và >>> list(Color) [, , ] 2

>>> some_var = Color.RED
>>> some_var in Color
True
35 cho
>>> Color['BLUE']

8
enum.auto

Kế thừa từ

>>> list(Color)
[, , ]
6 để giữ
>>> some_var = Color.RED
>>> some_var in Color
True
64 của loại dữ liệu hỗn hợp thay vì sử dụng ________ 45-Default
>>> Color.BLUE.name
'BLUE'
8.

Mới trong phiên bản 3.11.

Ghi chú

Sử dụng

>>> list(reversed(Color))
[, , ]
7 với
>>> list(Color)
[, , ]
2 dẫn đến các số nguyên là sức mạnh của hai, bắt đầu từ
>>> some_var = Color.RED
>>> some_var in Color
True
19.

Đã thay đổi trong phiên bản 3.11:
>>> from enum import auto
>>> class PowersOfThree(Enum):
...     @staticmethod
...     def _generate_next_value_(name, start, count, last_values):
...         return (count + 1) * 3
...     FIRST = auto()
...     SECOND = auto()
>>> PowersOfThree.SECOND.value
6
4 hiện là
>>> some_var = Color.RED
>>> some_var in Color
True
24 để hỗ trợ tốt hơn cho việc thay thế trường hợp sử dụng hằng số hiện tại.
>>> from enum import auto
>>> class PowersOfThree(Enum):
...     @staticmethod
...     def _generate_next_value_(name, start, count, last_values):
...         return (count + 1) * 3
...     FIRST = auto()
...     SECOND = auto()
>>> PowersOfThree.SECOND.value
6
5 đã là
>>> some_var = Color.RED
>>> some_var in Color
True
26 vì lý do tương tự.
enum.property

classenum.reprenum¶

Ghi chú

Sử dụng

>>> list(reversed(Color))
[, , ]
7 với
>>> list(Color)
[, , ]
2 dẫn đến các số nguyên là sức mạnh của hai, bắt đầu từ
>>> some_var = Color.RED
>>> some_var in Color
True
19.

Mới trong phiên bản 3.11.

@enum.unique¶enum.unique

Một

>>> Color.GREEN

4 Người trang trí đặc biệt cho các liệt kê. Nó tìm kiếm một bảng liệt kê từ ____ ____175, thu thập bất kỳ bí danh nào mà nó tìm thấy; Nếu bất kỳ tìm thấy
>>> some_var = Color.RED
>>> some_var in Color
True
68 được nêu ra với các chi tiết:

>>> Color.GREEN

1

@enum.verify¶enum.verify

Một

>>> Color.GREEN

4 Người trang trí đặc biệt cho các liệt kê. Các thành viên từ
>>> list(Color)
[, , ]
7 được sử dụng để chỉ định những ràng buộc nào nên được kiểm tra trên bảng liệt kê được trang trí.

Mới trong phiên bản 3.11.

@enum.Member¶enum.member

Một người trang trí để sử dụng trong Enums: Mục tiêu của nó sẽ trở thành thành viên.

Mới trong phiên bản 3.11.

@enum.nonmember¶enum.nonmember

Một người trang trí để sử dụng trong Enums: Mục tiêu của nó sẽ không trở thành thành viên.

Mới trong phiên bản 3.11.

@enum.global_enum¶enum.global_enum

Một người trang trí để thay đổi

>>> Color.BLUE.name
'BLUE'
8 và
>>> Color.BLUE.name
'BLUE'
9 của một enum để hiển thị các thành viên của mình là thuộc về mô -đun thay vì lớp của nó. Chỉ nên được sử dụng khi các thành viên ENUM được xuất sang không gian tên toàn cầu mô -đun (xem
>>> dir(Color)
['BLUE', 'GREEN', 'RED', '__class__', '__contains__', '__doc__', '__getitem__', '__init_subclass__', '__iter__', '__len__', '__members__', '__module__', '__name__', '__qualname__']
08 để biết ví dụ).

Mới trong phiên bản 3.11.

enum.show_flag_values ​​(giá trị) ¶show_flag_values(value)

Trả về một danh sách tất cả các số nguyên power-of-Two có trong một giá trị cờ.

Mới trong phiên bản 3.11.


Notes¶

>>> Color['BLUE']

6,
>>> Color['BLUE']

8 và
>>> list(Color)
[, , ]
2

Ba loại enum này được thiết kế để thay thế thả vào cho các giá trị dựa trên số nguyên và chuỗi hiện có; Như vậy, họ có những hạn chế thêm:

  • >>> dir(Color)
    ['BLUE', 'GREEN', 'RED', '__class__', '__contains__', '__doc__', '__getitem__', '__init_subclass__', '__iter__', '__len__', '__members__', '__module__', '__name__', '__qualname__']
    
    12 sử dụng giá trị chứ không phải tên của thành viên enum

  • >>> dir(Color)
    ['BLUE', 'GREEN', 'RED', '__class__', '__contains__', '__doc__', '__getitem__', '__init_subclass__', '__iter__', '__len__', '__members__', '__module__', '__name__', '__qualname__']
    
    13, vì nó sử dụng
    >>> dir(Color)
    ['BLUE', 'GREEN', 'RED', '__class__', '__contains__', '__doc__', '__getitem__', '__init_subclass__', '__iter__', '__len__', '__members__', '__module__', '__name__', '__qualname__']
    
    12, cũng sẽ sử dụng giá trị của thành viên enum thay vì tên của nó

Nếu bạn không cần/muốn những hạn chế đó, bạn có thể tạo lớp cơ sở của riêng mình bằng cách tự trộn trong loại

>>> Color['BLUE']

7 hoặc
>>> Color['BLUE']

9:

>>> Color.GREEN

2

Hoặc bạn có thể gán lại

>>> Color.BLUE.name
'BLUE'
8 thích hợp, v.v., trong enum của bạn:

>>> Color.GREEN

3

Làm thế nào để bạn trả về giá trị của một enum?

Nhận giá trị của một enum để có được giá trị của enum, chúng ta chỉ có thể đánh máy nó vào loại của nó. Trong ví dụ đầu tiên, loại mặc định là int vì vậy chúng tôi phải đánh máy nó vào int. Ngoài ra, chúng ta có thể nhận được giá trị chuỗi của enum đó bằng cách sử dụng phương thức toString () như dưới đây.typecast it to its type. In the first example, the default type is int so we have to typecast it to int. Also, we can get the string value of that enum by using the ToString() method as below.

Làm thế nào để bạn sử dụng giá trị enum trong Python?

Các liệt kê trong Python được triển khai bằng cách sử dụng mô -đun có tên là En Enum.Liệt kê được tạo bằng cách sử dụng các lớp ...
Enums có thể được hiển thị dưới dạng chuỗi hoặc repr ..
Enums có thể được kiểm tra các loại của họ bằng cách sử dụng loại () ..
Từ khóa tên của người Viking được sử dụng để hiển thị tên của thành viên enum ..

Giá trị enum trong Python là gì?

Một enum là một tập hợp các tên biểu tượng bị ràng buộc với các giá trị duy nhất.Chúng tương tự như các biến toàn cầu, nhưng chúng cung cấp một repr () hữu ích hơn, nhóm, an toàn loại và một vài tính năng khác.Như bạn có thể thấy, việc tạo một enum cũng đơn giản như viết một lớp kế thừa từ chính Enum.a set of symbolic names bound to unique values. They are similar to global variables, but they offer a more useful repr() , grouping, type-safety, and a few other features. As you can see, creating an Enum is as simple as writing a class that inherits from Enum itself.

Làm thế nào để bạn in một enum trong Python?

Phương thức __str __ () được gọi bởi str (object) và định dạng hàm tích hợp () và print () và trả về biểu diễn chuỗi không chính thức của đối tượng.Bây giờ bạn có thể nhận được giá trị của enum trực tiếp, mà không cần truy cập thuộc tính giá trị trên thành viên ENUM.Bạn cũng có thể sử dụng dấu ngoặc vuông để truy cập các thành viên ENUM. and returns the informal string representation of the object. Now you can get the value of the enum directly, without accessing the value attribute on the enum member. You can also use square brackets to access enum members.