Python 程式查詢列舉的字串值
在 Python 中,列舉是一種使用者定義的資料型別,由一組命名值組成。使用列舉定義一組有限的值,並且可以使用其名稱而不是整數值在 Python 中訪問這些值。列舉使程式碼更易於閱讀,更易於維護,並強制執行型別安全。在本文中,我們將瞭解如何在 Python 中根據其字串值查詢列舉。
要根據字串值查詢列舉,我們需要遵循以下步驟
在程式碼中匯入 enum 模組
使用所需的值集定義列舉
建立一個函式,該函式以列舉字串作為輸入並返回相應的列舉值。
語法
from enum import Enum class ClassName(Enum): Key_1= Value_1 Key_2= Value_2 Key_3= Value_3
為了在 Python 中使用列舉,我們需要匯入一個列舉,然後建立一個類,該類將列舉值作為輸入,併為每個列舉值包含鍵值對。
使用列舉提高程式碼可讀性
除了根據名稱查詢值之外,列舉還可以提高程式碼的可讀性。
示例
以下程式碼包含一個名為 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")
結論
在本文中,我們瞭解瞭如何使用其命名字串查詢列舉值。列舉可以使程式碼更易於閱讀並提高程式碼的可維護性。在任何涉及有限命名值集的專案中都應考慮使用列舉。
廣告
資料結構
網路
關係資料庫管理系統
作業系統
Java
iOS
HTML
CSS
Android
Python
C 語言程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP