Hướng dẫn python string to enum - chuỗi python thành enum

Bài viết này sẽ khám phá tính năng 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 ShowShow

  • Ví dụ đơn giản
  • In ra các thành viên của enum
  • Đảm bảo duy nhất
  • Một cách khác để tạo một Enum
  • Lặp trên phần tử của Enum
  • Vòng lặp For
  • Thuộc tính __members__
  • Giá trị tự động
  • Các tài liệu Tham khảo hữu ích
  • Phần kết luận
  • How to get the value of an enum in Python?
  • How to use enums in dictionaries?
  • What are the characteristics of enums in Java?
  • Which keyword is used to display the name of the enum member?

Điều này không chỉ là yếu tố không thể thiếu để phát triển các phần mềm tổng quát mà còn là một công cụ hữu ích để xây dựgn các trò chơi – khiến nó trở thành một kỹ năng và nền tảng quan trọng trong python.

Hãy đi sâu vào và khám phá chủ đề hấp dẫn này!

Đ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. Việc làm quen với cách viết các lớp cũng sẽ hữu ích vì các enum được triển khai dưới dạng các lớp Python. Bạn có thể tham khảo thêm khóa học python cơ bản trên unica: Học lập trình python cơ bản thông qua lập trình một game.Học lập trình python cơ bản thông qua lập trình một game.

Enum viết tắt của từ enumeration có nghĩa là phép liệt kê, tính 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 hằng số như số, chuỗi, v.v. Enum rất hữu ích để biểu diễn dữ liệu đại diện cho một tập hợp hữu hạn các trạng thái ví dụ như ngày trong tuần, tháng trong năm, …

Ví dụ đơn giản

In ra các thành viên của enum

from enum import Enum, unique, Flag
class Months(Enum) :
  JANUARY=1
  FEBRUARY=2
  MARCH = 3
  APRIL=4
  MAY=5
  JUNE=6
  JULY=7
  AUGUST=8
  SEPTEMBER=9
  OCTOBER=10
  NOVEMBER=11
  DECEMBER=12

In ra các thành viên của enum

Đảm bảo duy nhất

# sử dụng chỉ số
>> print (Months(7))
Months.JULY
# chỉ số bằng tên
>> print (Months['JULY'])
Months.JULY
# thông qua tên
>> print(Months.JULY)
Months.JULY
# thông qua tên
>> print (Months.JULY.name)
JULY
# thông qua giá trị
>> print (Months.JULY.value)
JULY

Đảm bảo duy nhất

Một cách khác để tạo một Enum@unique vào trước định nghĩa lớp, đảm bảo rằng các phần tử trùng lặp không tồn tại trong enum.

from enum import Enum, unique, Flag
>> @unique
... class Months(Enum) :
... 		JANUARY=1
... 		JANUARY=1
... 		FEBRUARY=2

Lặp trên phần tử của Enum

Một cách khác để tạo một Enum

Lặp trên phần tử của Enum

>> quarter1= Enum('Q1', [('January', 1), ('February', 2), ('March', 3)])
>> print (quarter1(3))
Q1.March
# có thể viết dưới dạng
>> quarter1= Enum('Q1', ('January February March'))
>> print (quarter1)
<enum 'Q1'>
# truy cập item
>>> quarter1['January']
<Q1.January: 1>
>>> Quarter1.March
<Q1.March: 3>
>>> Quarter1.March.value
3

Lặp trên phần tử của Enum

Vòng lặp For

Thuộc tính __members__

# vòng lặp for
for month in (Months) :
  print (month)

Months.JANUARY
Months.FEBRUARY
Months.MARCH
Months.APRIL
Months.MAY
Months.JUNE
Months.JULY
Months.AUGUST
Months.SEPTEMBER
Months.OCTOBER
Months.NOVEMBER
Months.DECEMBER

Thuộc tính __members__

Giá trị tự động

# lặp trên các phần tử
for name, member in Months.__members__.items():
   print (name, member)

JANUARY Months.JANUARY
FEBRUARY Months.FEBRUARY
MARCH Months.MARCH
APRIL Months.APRIL
MAY Months.MAY
JUNE Months.JUNE
JULY Months.JULY
AUGUST Months.AUGUST
SEPTEMBER Months.SEPTEMBER
OCTOBER Months.OCTOBER
NOVEMBER Months.NOVEMBER
DECEMBER Months.DECEMBER

Giá trị tự động

Các tài liệu Tham khảo hữu ích

# giá trị tự động cho các phần tử
from enum import auto
class Quarter(Enum):
   Q1 = auto()
   Q2 = auto()
   Q3 = auto()
   Q4 = auto()

for qtr in Quarter:
   print (qtr.value)

# Output
1
2
3
4

Phần kết luận_generate_next_value_ trong lớp.

from enum import auto
class Quarter(Enum):
	def _generate_next_value_(name, start, count, last_values):
		return "[" + name + "]"

	Q1 = auto()
	Q2 = auto()
	Q3 = auto()
	Q4 = auto()

for qtr in Quarter:
	print (qtr.value)

# Output
[Q1]
[Q2]
[Q3]
[Q4]

Các tài liệu Tham khảo hữu ích

Phần kết luận

How to get the value of an enum in Python?

How to use enums in dictionaries?Học lập trình python cơ bản thông qua lập trình một game trên unica.

What are the characteristics of enums in Java?

Which keyword is used to display the name of the enum member?

Phần kết luận

How to get the value of an enum in Python?

How to use enums in dictionaries?

  • What are the characteristics of enums in Java?

How to get the value of an enum in Python?

How to use enums in dictionaries?

How to use enums in dictionaries?

What are the characteristics of enums in Java?

What are the characteristics of enums in Java?

Which keyword is used to display the name of the enum member?

Từ khóa nào được sử dụng để hiển thị tên của thành viên Enum?

3. Từ khóa tên của Nhật Bản được sử dụng để hiển thị tên của thành viên ENUM.4. liệt kê là có thể hiểu được.Chúng có thể được lặp lại bằng cách sử dụng các vòng 5. Hỗ trợ Hỗ trợ Hỗ trợ.