Enum python là gì

Enums là một data type được sử dụng trong các ngôn ngữ lập trình hướng đối tượng như C# và Java. Trong Typescript cũng hỗ trợ data type này. Hôm nay, chúng ta sẽ cùng tìm hiểu về Enums trong Typescript nhé.

Enums trong Typescript

Enums cho phép chúng ta khai báo một tập hợp các hằng số được đặt tên, các giá trị trong tập hợp này có thể là số hoặc chuỗi.

Khi sử dụng enums, chúng ta có thể tạo các hằng số và giúp chúng có thể dễ dàng quan sát và dễ đọc hơn, tránh sai sót hay nhầm lẫn trong một số trường hợp.

Cú pháp Enums cũng khá đơn giản, chúng ta chỉ cần sử dụng keyword enum:

enum ProgrammingLanguages {
  Javascript,
  C,
  Python,
  Java
}

Trong ví dụ trên, Ta tạo một enum tên là ProgrammingLanguages. Enum này có các enum member là: Javascript, C, Python và Java. Ở đây, giá trị enum member đầu tiên mang giá trị mặc định là 0 và tăng dần giá trị với member tiếp theo. Nó sẽ trông như sau:

  Javascript = 0,
  C = 1,
  Python = 2,
  Java = 3

Chúng ta có thể đặt giá trị khởi tạo cho các enum member, mình lấy một ví dụ như sau:

enum ProgrammingLanguages {
  Javascript = 7,
  C,
  Python,
  Java
}

Với giá trị khởi tạo cho

  Javascript = 0,
  C = 1,
  Python = 2,
  Java = 3
1 là 7 thì các member tiếp theo sẽ lần lượt có giá trị tăng thêm 1 dựa vào giá trị số của
  Javascript = 0,
  C = 1,
  Python = 2,
  Java = 3
1. Có nghĩa là lúc này
  Javascript = 0,
  C = 1,
  Python = 2,
  Java = 3
3 có giá trị 8,
  Javascript = 0,
  C = 1,
  Python = 2,
  Java = 3
4 có giá trị 9,
  Javascript = 0,
  C = 1,
  Python = 2,
  Java = 3
5 mang giá trị 10.

Chúng ta có thể gán các giá trị bất kỳ cho enum, ví dụ như sau:

enum ProgrammingLanguages {
  Javascript = 'JAVASCRIPT',
  C = 'C',
  Python = 'Python',
  Java = 'Java'
}

Để truy cập giá trị 1 member bất kỳ trong enum, ta sử dụng giống như cách lấy value của object:

Đối với enums có kiểu dữ liệu của

  Javascript = 0,
  C = 1,
  Python = 2,
  Java = 3
6 là
  Javascript = 0,
  C = 1,
  Python = 2,
  Java = 3
7 thì chúng ta có thể lấy giá trị của
  Javascript = 0,
  C = 1,
  Python = 2,
  Java = 3
8 theo cách như sau:

Như bạn có thể thấy trong ví dụ trên,

  Javascript = 0,
  C = 1,
  Python = 2,
  Java = 3
9 trả về tên member là
enum ProgrammingLanguages {
  Javascript = 7,
  C,
  Python,
  Java
}
0. Chúng ta có thể thực hiện được là nhờ
enum ProgrammingLanguages {
  Javascript = 7,
  C,
  Python,
  Java
}
1.

TypeScript có thể compile enum ở trên thành hàm JavaScript sau:

var Role;
[function [Role] {
    Role[Role["ADMIN"] = 1] = "ADMIN";
    Role[Role["READ_ONLY"] = 2] = "READ_ONLY";
    Role[Role["AUTHOR"] = 3] = "AUTHOR";
}][Role || [Role = {}]];

console.log[ProgrammingLanguages];

{
  '1': 'ADMIN',
  '2': 'READ_ONLY',
  '3': 'AUTHOR',
  ADMIN: 1,
  READ_ONLY: 2,
  AUTHOR: 3
}

Nhờ

enum ProgrammingLanguages {
  Javascript = 7,
  C,
  Python,
  Java
}
1 ta có thể lấy tên member từ giá trị và ngược lại.

enum ProgrammingLanguages {
  Javascript = 7,
  C,
  Python,
  Java
}
1 không hỗ trợ member kiểu string mà chỉ hỗ trợ member là
  Javascript = 0,
  C = 1,
  Python = 2,
  Java = 3
7.

Kết luận

Như vậy là chúng ta đã tìm hiểu xong về enums trong Typescript. Hy vọng bài viết giúp ích cho các bạn.

Bài đăng này sẽ khám phá mô-đun Python enum, một công cụ mạnh mẽ để xử lý các tập dữ liệu không thay đổi

Nội dung chính Show

Đây không chỉ là phần không thể thiếu để phát triển phần mềm tổng quát mà còn là thứ bạn sẽ thấy thường thấy trong các trò chơi – khiến nó trở thành một kỹ năng và nền tảng quan trọng để học bất kể mục tiêu mã hóa cá nhân của bạn là gì.

Hãy đi sâu vào và khám phá chủ đề hấp dẫn này về cách sử dụng enum trong Python

Điều kiện tiên quyết. Người đọc phải có kiến ​​thức làm việc về ngôn ngữ lập trình Python. Làm quen với cách viết các lớp cũng sẽ hữu ích vì các enum Python được triển khai dưới dạng các lớp Python.

Mục lục

  • Python Enum là gì?
  • Ví dụ đơn giản
    • In ra các thành viên của Python enum
    • Đảm bảo tính duy nhất
    • Cách khác để tạo Enum
  • Lặp lại các phần tử
    • cho vòng lặp
    • Thuộc tính __members__
  • băm
  • Giá trị tự động
  • Bảng liệt kê có nguồn gốc
    • Lá cờ
    • IntEnum
    • cờ quốc tế
  • Đặt hàng tùy chỉnh
  • Tài liệu tham khảo / Đọc thêm
  • Sự kết luận

Python Enum là gì?

Hãy thảo luận về Python enum là gì. Viết tắt của kiểu liệt kê, tính năng ngôn ngữ này xác định một tập hợp các tên được liên kết với các giá trị không đổi như số, chuỗi, v.v. Các enum Python rất hữu ích để biểu diễn dữ liệu đại diện cho một tập hợp trạng thái hữu hạn, chẳng hạn như ngày trong tuần, tháng trong năm, v.v.

Chúng đã được thêm vào Python 3. 4 qua PEP 435. Tuy nhiên, nó có sẵn tất cả các cách trở lại 2. 4 qua pypy. Như vậy, bạn có thể mong đợi chúng trở thành một yếu tố chính khi bạn khám phá lập trình Python

Đặt hàng tùy chỉnh

Cả IntEnum và IntFlag đều cho phép chúng tôi sắp xếp thứ tự tùy chỉnh của các thành viên khi thứ tự tự nhiên không giúp được gì

IntEnum

# by numerical index
print [Months[7]
Months.JULY

# item index
print [Months['JULY']]
Months.JULY

# by name
print [Months.JULY]
Months.JULY

# by name
print [Months.JULY.name]
JULY

# by value
print [Months.JULY.value]
JULY
2
  1. Chuỗi XANH không thể được tạo theo thứ tự bảng chữ cái nhỏ hơn chuỗi XANH
  2. Tuy nhiên, việc xác định chúng là thành viên của IntEnum giúp điều này trở nên khả thi

Tài liệu tham khảo / Đọc thêm

Chúng tôi đã đề cập đến những điều cơ bản, nhưng bây giờ là lúc để bạn tự mình khám phá Python enums. Kiểm tra một số liên kết bên dưới để bắt đầu, với enums hoặc với các chủ đề lập trình Python khác

  • Tài liệu chính thức của Python về Enums
  • Zenva – Python Mini-Degree
  • GeekForGeek – Python Enums
  • FD Coding – Tại sao bạn nên sử dụng nhiều enum hơn trong Python
  • John Lekberg – Sử dụng kiểu liệt kê trong Python

Sự kết luận

Python enums cực kỳ hữu ích trong việc quản lý dữ liệu có một tập hợp trạng thái hữu hạn. Chúng cũng hữu ích trong việc áp đặt thứ tự tùy chỉnh trên dữ liệu. Như đã thảo luận, có 3 biến thể của Python Enum i. e. IntEnum, IntFlag và Cờ. Flag và IntFlag có thể được sử dụng để kết hợp các trạng thái bằng toán tử bitwise, trong khi IntEnum và IntFlag hữu ích cho việc so sánh và sắp xếp số

Tuy nhiên, bạn đi đâu với kiến ​​​​thức mới tìm thấy này là tùy thuộc vào bạn. Có lẽ bạn quan tâm đến việc tạo một chương trình lịch phù hợp với bộ phần mềm kinh doanh. Hoặc, có thể bạn quan tâm đến việc tạo trò chơi và sử dụng phép liệt kê trong Python cho các hiệu ứng trạng thái khác nhau. Việc sử dụng ở đây là vô hạn, nhưng chúng tôi hy vọng bạn đã có một số thông tin mới theo ý của mình và có thể sử dụng Python enum để mang lại lợi ích và thành công cho bạn

Enum dùng để làm gì?

Enum là một kiểu dữ liệu đặc biệt cho phép một biến có thể một tập hợp các hằng số định sẵn. Biến phải bằng một trong các giá trị đã được xác định trước cho nó. Các ví dụ phổ biến bao gồm các hướng của la bàn [giá trị : Bắc, Nam, Đông và Tây] và những ngày trong tuần, ....

Khi nào sử dụng Enum?

Tên này được người lập trình tự định nghĩa và thể hiện ý nghĩa của các hằng số. Do đó, chúng ta nên dùng enum. Ví dụ: Khi đọc một file ta có ký hiệu các trạng thái: mở file lỗi -1, đọc file lỗi -2, phân tích file lỗi -3, đọc file thành công 0. Ta có thể sử dụng kiểu enum như sau để dễ nhớ, dễ hiểu hơn.

Enum trong C++ là gì?

Enum là gì? Trong lập trình C/C++, Enum hay Enumeration là kiểu dữ liệu cố định, chỉ cho phép biến nhận số số giá trị nhất định nào đó. Các giá trị enum có thể coi một hằng số. Việc sử dụng enum giúp đảm bảo giá trị các biến chỉ nhận các giá trị mong đợi.

Chủ Đề