1, 列舉其實是乙個類
列舉的標識最好大寫
from enum import enum
class vip(enum):
yellow=1
green=2
black=3
red=4
2列舉相較於普通類有什麼區別
字典和普通類:可變,沒有防止相同標籤的功能
3,列舉型別,列舉名稱和列舉值
如何獲取列舉下對應的每乙個值
vip.yellow.value
如何獲取列舉下對應的標籤
vip.yellow.name
如何獲取列舉下對應的型別
vip['green']
列舉的遍歷
from v in vip:
print(v)
4列舉的比較運算
vip.green==vip.yellow
false
列舉不可大小比較,但是可身份比較
列舉跨類不好比較
5列舉的注意事項
列舉的標籤不可相同
列舉的數值可相同,但如果相同,則第二個標籤代表著這個列舉的別名
遍歷時無法遍歷別名的那個列舉
但如果需要,可用:
for v in vip.__members__.items:
print(v)
for v in vip.__members:
print(v)
yellow
green
black
red
6列舉的轉換
在資料庫中訪問的是具體的數值(更簡潔,推薦)或字串
在**中使用列舉類而不要使用數值代替,可讀性增強
如果在資料庫裡查詢的是數字,如何使列舉型別與之對應(如何把數字轉化為列舉型別):
a=1
print(vip(a))
7列舉小結
from enum import intenum
使列舉對應的每個數值都為int型
from enum import enum,unique
@unique
限制每個值不同
列舉型別無法例項化
python3中的列舉
對於vip鑽石顏色表示 from enum import enum class vip enum yellow 1 green 2 black 3 red 4 賦值時也可以是不相等的字串 print vip.yellow 輸出vip.yellow列舉就是乙個類其他實現方法 模組中定義變數 yello...
python爬蟲所遇問題列舉
1 通過python socket庫來構造請求報文,向伺服器傳送請求時 remote address 183.61.138.62 443 raddr 183.61.138.62 80 80表示http協議預設埠,443表示https協議預設埠 2 在瀏覽器中輸入位址,然後除錯network視窗發現,...
python列舉型別 python基礎 列舉類
python 列舉類 示例 2016 8 30 18 55 25 mengmengcoding coding utf 8 from enum importenum enum是乙個列舉類 month,weekday各為乙個enum類的例項化 month enum month jan feb mar a...