Python中的enum的使用方法
為什么要使用Enum.(Why?)
在普通類別中,枚舉和我們?cè)趯?duì)象中定義的類變量一樣的,每一個(gè)類變量就是一個(gè)枚舉項(xiàng),
訪問方式如下:
class HelloWolrd:
life = 0
literature = 1
science = 2
math = 3
person = -1
xzh = 0
lq = 3
wj = 2
print(HelloWolrd.lq)
HelloWolrd.lq = 9
print(HelloWolrd.lq)
這樣的使用方法是存在兩個(gè)問題的,即:
枚舉類中,不應(yīng)該存在key相同的枚舉項(xiàng)(類變量) 不允許在類的外部直接修改枚舉項(xiàng)的值
為了解決這個(gè)問題,我們考慮使用enum模塊.
使用enum
enum模塊是系統(tǒng)內(nèi)置模塊,可以直接使用import導(dǎo)入,但是在導(dǎo)入的時(shí)候,不建議直接使用import enum將enum模塊全部導(dǎo)入,一般使用Enum, IntEnum,unique等.
from enum import Enum
class HelloWolrd(Enum):
literature = 1
person = -1
xzh = 0
lq = 3
wj = 2
print(HelloWolrd.lq)
print(HelloWolrd.lq.value)使用了Enum后面,有下面的限制:
- 枚舉類不能用來實(shí)例化對(duì)象
- 訪問枚舉類中的某一項(xiàng), 直接使用類名加上要訪問的項(xiàng)即可, 比如color.YELLOW
- 枚舉類里面定義的Key = Value, 在類外部不能修改Value值.
如果在枚舉類中的不同的key對(duì)應(yīng)的value也想不同,那么在導(dǎo)入Enum的同時(shí),需要導(dǎo)入unique如果想要value都是Int類型的,可導(dǎo)入IntEnum
到此這篇關(guān)于Python中的enum的使用方法的文章就介紹到這了,更多相關(guān)Python enum 內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Python與MongoDB交互的代碼實(shí)現(xiàn)
Python與MongoDB的交互通常通過pymongo庫來實(shí)現(xiàn),pymongo是一個(gè)官方的Python驅(qū)動(dòng)程序,用于與MongoDB數(shù)據(jù)庫進(jìn)行交互,以下是一個(gè)簡(jiǎn)單的示例,具有一定的參考價(jià)值,需要的朋友可以參考下2024-10-10
Python Django實(shí)現(xiàn)layui風(fēng)格+django分頁功能的例子
今天小編就為大家分享一篇Python Django實(shí)現(xiàn)layui風(fēng)格+django分頁功能的例子,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2019-08-08
Pytorch 解決自定義子Module .cuda() tensor失敗的問題
這篇文章主要介紹了Pytorch 解決自定義子Module .cuda() tensor失敗的問題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2020-06-06
Python3中的tuple函數(shù)知識(shí)點(diǎn)講解
在本篇文章里小編給大家整理了一篇關(guān)于Python3中的tuple函數(shù)知識(shí)點(diǎn)講解內(nèi)容,有興趣的朋友們可以學(xué)習(xí)參考下。2021-01-01
CentOS 6.5下安裝Python 3.5.2(與Python2并存)
這篇文章主要給大家介紹了在CentOS 6.5下安裝Python 3.5.2的方法教程,安裝后的python3與Python2并存,文中分享了詳細(xì)的方法步驟,對(duì)大家具有一定的參考學(xué)習(xí)價(jià)值,下面來一起看看吧。2017-06-06

