枚舉是 Python 中用於開發枚舉的類。枚舉是綁定到常量和唯一值的一組符號成員或名稱。枚舉的成員可以通過使用這些符號名來等同。枚舉可以自己在它們上面重複。
枚舉類的特徵是:
- 用戶可以使用 type()方法檢查枚舉的類型。
- 通過使用「名稱」關鍵字,用戶可以顯示枚舉的名稱。
- 枚舉是稱為 repr()的對象的可計算字符串表示形式。
示例:
import enum
# we will use enum class for creating enumerations
class Weekdays(enum.Enum):
Sunday = 1
Monday = 2
Tuesday = 3
Wednesday = 4
Thursday = 5
Friday = 6
Saturday = 7
# we will print the enum member as the string
print (" The member of Enum class as the string is : ",end = " ")
print (Weekdays.Monday)
# we will print the enum member as a repr object
print (" The member of Enum class as a repr is : ",end = " ")
print (repr(Weekdays.Sunday))
# now we will check the type of enum member
print (" The type of the member of Enum class is : ",end = " ")
print (type(Weekdays.Saturday))
# we will print name of enum member
print (" The name of the member of Enum class is : ",end = " ")
print (Weekdays.Friday.name)
輸出:
The member of Enum class as the string is : Weekdays.Monday
The member of Enum class as a repr is : The type of the member of Enum class is : <enum>The name of the member of Enum class is : Friday</enum> 如何將枚舉打印為可列表
用戶可以將枚舉類打印為可列表。
在下面的示例中,我們將使用 for循環來打印枚舉類的所有成員。
示例:
import enum
# we will user enum class for creating enumerations
class Weekdays(enum.Enum):
Sunday = 1
Monday = 2
Tuesday = 3
Wednesday = 4
Thursday = 5
Friday = 6
Saturday = 7
# now we will print all enum members by using for loop
print (" The member of Enum class are : ")
for weekday in (Weekdays):
print(weekday)
輸出:
The member of Enum class are :
Weekdays.Sunday
Weekdays.Monday
Weekdays.Tuesday
Weekdays.Wednesday
Weekdays.Thursday
Weekdays.Friday
Weekdays.Saturday
如何哈希枚舉類
枚舉類的成員稱為枚舉,並且也是可枚舉的。因此,這些成員可以用於集合和字典。
在下面的例子中,我們將展示用戶如何哈希枚舉類。
示例:
import enum
# we will use enum class for creating enumerations
class Days(enum.Enum):
Sunday = 1
Monday = 2
# we will Hash for creating a dictionary
Daytype = {}
Daytype[Days.Sunday] = 'Sun God'
Daytype[Days.Monday] = 'Mon God'
# now we will Check if the hashing is successful
if Daytype =={Days.Sunday:'Sun God',Days.Monday:'Mon God'}:
print (" Enum class is hashed ")
else: print (" Enum class is not hashed ")
輸出:
Enum class is hashed
如何訪問枚舉成員
用戶可以通過使用成員項的值或名稱來訪問枚舉類的成員。
在下面的示例中,我們將展示用戶如何通過名稱訪問值,其中我們使用了枚舉的名稱作為索引。
示例:
import enum
# we will use enum class for creating enumerations
class Days(enum.Enum):
Sunday = 1
Monday = 2
Tuesday = 3
Wednesday = 4
Thursday = 5
Friday = 6
Saturday = 7
print('The member of Enum class accessed by name: ')
print (Days['Monday'])
print('The member of Enum class accessed by name: ')
print (Days['Friday'])
print('The member of Enum class accessed by Value: ')
print (Days(1))
print('The member of Enum class accessed by Value: ')
print (Days(5))
輸出:
The member of Enum class accessed by name:
Days.Monday
The member of Enum class accessed by name:
Days.Friday
The member of Enum class accessed by Value:
Days.Sunday
The member of Enum class accessed by Value:
Days.Thursday
如何比較枚舉
用戶可以簡單地通過使用比較運算符來比較枚舉。
例如:
import enum
# we will use enum class for creating enumerations
class Days(enum.Enum):
Sunday = 1
Monday = 2
Tuesday = 1
Wednesday = 4
Thursday = 5
Friday = 4
Saturday = 7
if Days.Sunday == Days.Tuesday:
print('Match')
else: print ('Do not Match')
if Days.Monday != Days.Tuesday:
print('Do not Match')
else: print ('Match')
if Days.Wednesday == Days.Friday:
print('Match')
else:
print ('Do not Match')
if Days.Thursday != Days.Friday:
print('Do not Match')
else:
print ('Match')
輸出:
Match
Do not Match
Match
Do not Match
結論
在本文中,我們討論了 Python 的枚舉類及其特性。我們還展示了用戶如何將枚舉類打印為可迭代列表。用戶如何哈希和訪問枚舉類的成員。
原創文章,作者:IK1VW,如若轉載,請註明出處:https://www.506064.com/zh-hk/n/129483.html
微信掃一掃
支付寶掃一掃