首頁 >後端開發 >Python教學 >Python程式透過字串值查找枚舉

Python程式透過字串值查找枚舉

WBOY
WBOY轉載
2023-09-21 21:25:101215瀏覽

Python程式透過字串值查找枚舉

Python 中的枚舉是一種使用者定義的資料類型,由一組命名值組成。的有限集合值是使用枚舉定義的,並且可以在 Python 中使用它們的名稱而不是整數值來存取這些值。枚舉使程式碼更具可讀性和可維護性,並且還增強了類型安全性。在本文中,我們將了解如何在 Python 中透過字串值找到枚舉。

要透過字串值來尋找枚舉,我們需要按照以下步驟進行:

  • 在程式碼中導入枚舉模組

  • 定義具有所需值集的枚舉

  • 建立一個函數,將枚舉字串作為輸入並傳回對應的枚舉值。

文法

from enum import Enum

class ClassName(Enum):
   Key_1= Value_1
   Key_2= Value_2
   Key_3= Value_3

在Python中使用枚舉需要導入枚舉,然後創建一個類,該類將以枚舉值作為輸入,並且還包含每個枚舉值的鍵值對。

使用枚舉提高程式碼可讀性

除了透過名稱尋找值之外,Enum 還可以提高程式碼的可讀性。

範例

下面的程式碼由一個名為 process_color() 的函數組成,該函數接受一個整數作為輸入並傳回指示正在處理的顏色的訊息。下面的程式碼不被認為是一個好的可讀程式碼,因為我們必須記住每個整數值代表哪種顏色。我們可以使用枚舉來提高程式碼的可讀性。

def process_color1(color):
   if color == 1:
      print("Processing red color")
   elif color == 2:
      print("Processing green color")
   elif color == 3:
      print("Processing blue color")
   else:
      raise ValueError(f"{color} is not a valid color")

使用枚舉,我們可以定義一個名為color的枚舉,其值與上述程式碼中的值相同。然後透過建立一個名為process_color的簡單函數,該函數以整數作為輸入,並使用枚舉將整數轉換為命名的顏色值。如果輸入不是有效的顏色,則引發一個帶有詳細錯誤訊息的ValueError。這使得程式碼更易讀,因為我們現在不必記住每個顏色的整數值。

class Color(Enum):
   RED = 1
   GREEN = 2
   BLUE = 3

def process_color(color):
   try:
      color = Color(color)
   except ValueError:
      raise ValueError(f"{color} is not a valid color")
   print(f"Processing {color.name.lower()} color")

結論

在本文中,我們了解如何使用命名字串來尋找枚舉值。枚舉可以使程式碼更易讀並提高程式碼的可維護性。在涉及有限命名值集的任何項目中都應考慮使用枚舉。

以上是Python程式透過字串值查找枚舉的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文轉載於:tutorialspoint.com。如有侵權,請聯絡admin@php.cn刪除