新聞中心
這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
Python中存在枚舉類型嗎
這期內(nèi)容當(dāng)中小編將會給大家?guī)碛嘘P(guān)Python中存在枚舉類型嗎,文章內(nèi)容豐富且以專業(yè)的角度為大家分析和敘述,閱讀完這篇文章希望大家可以有所收獲。
網(wǎng)站建設(shè)哪家好,找創(chuàng)新互聯(lián)建站!專注于網(wǎng)頁設(shè)計、網(wǎng)站建設(shè)、微信開發(fā)、小程序開發(fā)、集團企業(yè)網(wǎng)站建設(shè)等服務(wù)項目。為回饋新老客戶創(chuàng)新互聯(lián)還提供了永寧免費建站歡迎大家使用!
python中沒有enum枚舉類型,可能python認(rèn)為這玩意壓根就沒用,下面列舉了三種方法模擬enum枚舉類型
方法1. 使用自定義類
class Numbers(object): ONE = 1 TWO = 2 THREE = 3 assert Numbers.ONE == 1 assert Numbers.TWO == 2 assert Numbers.THREE == 3
方法2:使用函數(shù)動態(tài)創(chuàng)建類
def enum(**enums): return type('Enum', (object,), enums) Numbers = enum(ONE=1, TWO=2, THREE=3) assert Numbers.ONE == 1 assert Numbers.TWO == 2 assert Numbers.THREE == 3
方法3:創(chuàng)建一個從python的集合擴展來的對象
class Enum(set): def __getattr__(self, name): if name in self: return name raise AttributeError Numbers = Enum( "ONE TWO THREE".split() ) error = False try: print Numbers.ONE print Numbers.TWO print Numbers.THREE except: error = True assert error == False try: print Numbers.FOUR except: error = True assert error == True
上述就是小編為大家分享的Python中存在枚舉類型嗎了,如果剛好有類似的疑惑,不妨參照上述分析進行理解。如果想知道更多相關(guān)知識,歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道。
名稱欄目:Python中存在枚舉類型嗎
網(wǎng)頁地址:http://ef60e0e.cn/article/gedjjp.html