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.1 không hỗ trợ member kiểu string mà chỉ hỗ trợ member làenum ProgrammingLanguages { Javascript = 7, C, Python, Java }
7.Javascript = 0, C = 1, Python = 2, Java = 3
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] JULY2
- Chuỗi XANH không thể được tạo theo thứ tự bảng chữ cái nhỏ hơn chuỗi XANH
- 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