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程序通過字符串值查找枚舉的詳細內容,更多請關注www.xfxf.net其它相關文章!