新聞中心
這里有您想知道的互聯(lián)網(wǎng)營(yíng)銷(xiāo)解決方案
創(chuàng)新互聯(lián)Python教程:Python中有枚舉類(lèi)型嗎?
python中沒(méi)有enum枚舉類(lèi)型,可能python認(rèn)為這玩意壓根就沒(méi)用,下面列舉了三種方法模擬enum枚舉類(lèi)型

方法1. 使用自定義類(lèi)
class Numbers(object): ONE = 1 TWO = 2 THREE = 3 assert Numbers.ONE == 1 assert Numbers.TWO == 2 assert Numbers.THREE == 3
方法2:使用函數(shù)動(dòng)態(tài)創(chuàng)建類(lèi)
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)建一個(gè)從python的集合擴(kuò)展來(lái)的對(duì)象
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
網(wǎng)頁(yè)名稱(chēng):創(chuàng)新互聯(lián)Python教程:Python中有枚舉類(lèi)型嗎?
網(wǎng)頁(yè)地址:http://m.5511xx.com/article/cccegps.html


咨詢(xún)
建站咨詢(xún)
