Hướng dẫn can enum have multiple values python? - enum có thể có nhiều giá trị python không?
Sử dụng MultivalueEnum để nhận được nhiều giá trị trong Python. Bạn phải cài đặt và nhập thư viện Show Mã ví dụ đơn giản.
Output:: Cách khác nhận được nhiều giá trị enum
Output:: DType.float32DType.double64 Hãy bình luận nếu bạn có bất kỳ nghi ngờ và đề xuất nào về chủ đề enum Python này.
Bằng cấp về Khoa học máy tính và Kỹ sư: Nhà phát triển ứng dụng và có nhiều ngôn ngữ lập trình kinh nghiệm. Sự nhiệt tình cho công nghệ và thích học kỹ thuật. Trong khi Grokking mã nguồn của mô -đun 2, tôi đã bắt gặp kỹ thuật này để thêm các thuộc tính bổ sung vào các giá trị của các thành viên ENUM. Bây giờ, để hiểu ý tôi là gì khi thêm các thuộc tính, hãy xem xét ví dụ sau:
Ở đây, tôi đã được thừa hưởng từ 3 để đảm bảo rằng các giá trị của các thành viên ENUM là chuỗi. Lớp này có thể được sử dụng như sau:
Chạy tập lệnh sẽ in:
Mặc dù điều này hoạt động nhưng rõ ràng là bạn chỉ có thể gán một giá trị duy nhất cho một thành viên enum. Làm thế nào bạn viết lại điều này nếu bạn cần nhiều giá trị được đính kèm với một thành viên enum duy nhất? Giả sử, trong trường hợp trên, cùng với tiêu đề màu, bạn cũng cần lưu các mã hex và mô tả ngắn về màu sắc. Một cách bạn có thể đạt được điều này là thông qua việc gán một thùng chứa bất biến là giá trị của một thành viên enum:
Ở đây, tôi đang sử dụng một tuple để chứa tiêu đề, mã hex và mô tả của các thành viên 4. Điều này trở nên khó xử bất cứ khi nào bạn cần truy cập vào các yếu tố riêng lẻ bên trong tuple. Bạn sẽ phải sử dụng các chỉ mục được mã hóa cứng để truy cập vào các yếu tố của tuple. Đây là cách bạn có thể sử dụng nó:
Nó in:
Các chỉ mục mã hóa theo cách như vậy rất mong manh và sẽ bị phá vỡ nếu bạn bỏ một giá trị mới ở giữa tuple được gán cho một thành viên enum. Ngoài ra, thật khó để có lý do thông qua logic khi bạn giữ ý nghĩa ngữ nghĩa của các vị trí chỉ mục trong bộ nhớ làm việc của bạn. Một điều tốt hơn để làm là viết lại enum theo cách cho phép bạn truy cập các yếu tố khác nhau của các giá trị thành viên bằng tên thuộc tính của chúng. Hãy làm nó:
Ở đây, tôi vượt qua phương thức 5 của lớp 4. Phương pháp 5 là một phương pháp lớp đặc biệt mà bạn không cần trang trí với bộ trang trí 8. Nó được thực thi trong quá trình tạo đối tượng 4; trước phương thức 0. Khác với đối số đầu tiên 1, bạn có thể xác định phương thức 5 với bất kỳ số lượng đối số được đặt tên tùy ý nào.Trong trường hợp này, giá trị của mỗi thành viên của 4 sẽ có ba yếu tố. Vì vậy, tôi đã xác định phương pháp 5 để chấp nhận các đối số đó. Trong dòng sau, lớp 3 đã được khởi tạo thông qua 9 và sau đó 4 được gán cho đối tượng chuỗi mới được tạo thông qua 1. Dòng này là rất quan trọng; Không có nó, enum sẽ không hoạt động chút nào. Nhiệm vụ này đảm bảo rằng 2 sẽ trả về giá trị chuỗi.Trong hai dòng tiếp theo, 5 và 6 đã được gắn vào các giá trị thành viên thông qua các câu lệnh 5 và 6 tương ứng.Bây giờ, bạn sẽ có thể sử dụng enum này mà không cần bất kỳ shenanigans mã hóa cứng nào:
Điều này sẽ in: 0Người giới thiệu¶
Một enum có thể là nhiều giá trị?Trình xây dựng Enum có thể chấp nhận nhiều giá trị..
Enum có thể có hai giá trị tương tự Python không?Giới thiệu về các bí danh Enum theo định nghĩa, các giá trị thành viên liệt kê là duy nhất.Tuy nhiên, bạn có thể tạo các tên thành viên khác nhau với cùng một giá trị.you can create different member names with the same values.
Enum có thể có bao nhiêu giá trị?Về lý thuyết, một cột enum có thể có tối đa 65.535 giá trị riêng biệt;Trong thực tế, mức tối đa thực sự phụ thuộc vào nhiều yếu tố.Các giá trị enum được thể hiện nội bộ dưới dạng số nguyên.65,535 distinct values; in practice, the real maximum depends on many factors. ENUM values are represented internally as integers.
Tôi có thể thêm các giá trị trong enum không?Để thêm các giá trị mới vào enum, bạn nên mở rộng enum.you should extend the enum. |