Python中的enum的使用方法
為什么要使用Enum.(Why?)
在普通類別中,枚舉和我們在對象中定義的類變量一樣的,每一個類變量就是一個枚舉項,
訪問方式如下:
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)
這樣的使用方法是存在兩個問題的,即:
枚舉類中,不應(yīng)該存在key相同的枚舉項(類變量) 不允許在類的外部直接修改枚舉項的值
為了解決這個問題,我們考慮使用enum模塊.
使用enum
enum模塊是系統(tǒng)內(nèi)置模塊,可以直接使用import導(dǎo)入,但是在導(dǎo)入的時候,不建議直接使用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后面,有下面的限制:
- 枚舉類不能用來實例化對象
- 訪問枚舉類中的某一項, 直接使用類名加上要訪問的項即可, 比如color.YELLOW
- 枚舉類里面定義的Key = Value, 在類外部不能修改Value值.
如果在枚舉類中的不同的key對應(yīng)的value也想不同,那么在導(dǎo)入Enum的同時,需要導(dǎo)入unique如果想要value都是Int類型的,可導(dǎo)入IntEnum
到此這篇關(guān)于Python中的enum的使用方法的文章就介紹到這了,更多相關(guān)Python enum 內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
解決Pycharm無法import自己安裝的第三方module問題
今天小編就為大家分享一篇解決Pycharm無法import自己安裝的第三方module問題,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2018-05-05Python3使用騰訊云文字識別(騰訊OCR)提取圖片中的文字內(nèi)容實例詳解
這篇文章主要介紹了Python3使用騰訊云文字識別(騰訊OCR)提取圖片中的文字內(nèi)容方法詳解,需要的朋友可以參考下2020-02-02Python繪圖實現(xiàn)坐標(biāo)軸共享與復(fù)用詳解
這篇文章主要為大家詳細(xì)介紹了Python在繪圖時如何實現(xiàn)坐標(biāo)軸共享與復(fù)用,文中的示例代碼講解詳細(xì),感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下2024-02-02python3翻轉(zhuǎn)字符串里的單詞點(diǎn)的實現(xiàn)方法
這篇文章主要介紹了python3翻轉(zhuǎn)字符串里的單詞點(diǎn)的實現(xiàn)方法,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2021-04-04Python爬蟲如何應(yīng)對Cloudflare郵箱加密
這篇文章主要介紹了Python爬蟲如何應(yīng)對Cloudflare郵箱加密,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下2020-06-06詳解vscode實現(xiàn)遠(yuǎn)程linux服務(wù)器上Python開發(fā)
這篇文章主要介紹了vscode實現(xiàn)遠(yuǎn)程linux服務(wù)器上Python開發(fā),本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下2020-11-11