Python列舉注意事項

2021-08-25 17:37:31 字數 2394 閱讀 5417

1.列舉下面是不能有兩個相同的標籤的。

2.兩個標籤的值一樣的話,是代表的一種列舉型別,後面的標籤是第乙個標籤的別名

3 遍歷列舉不會把別名給迴圈處理,要把別名也遍歷出來就用列舉類的__menbers__屬性

列舉下面是不能有兩個相同的標籤的。

from enum import enum

class

color

(enum):

yellow = 1

yellow = 1

black = 3

red = 4

print(color.yellow)

--------------------------------------

輸出:traceback (most recent call last):

file "e:/projects/python_learn/eleven/c6.py", line 7, in

class

color

(enum):

file "e:/projects/python_learn/eleven/c6.py", line 9, in color

yellow = 1

raise typeerror('attempted to reuse key: %r' % key)

typeerror: attempted to reuse key: 'yellow'

--------------------------------------------

(存在兩個相同的標籤是會報錯的)

兩個標籤的值一樣的話,是代表的一種列舉型別,後面的標籤是第乙個標籤的別名

from enum import enum

class

color

(enum):

yellow = 1

yellow_alias = 1

black = 3

red = 4

print(color.yellow_alias)

----------------------------------

輸出:color.yellow

注意:按道理是列印出color.yellow_alias的,但因為它們的值相等,第二個標籤就是第乙個的別名,就列印出第乙個標籤。

–3:

遍歷列舉不會把別名給迴圈處理,要把別名也遍歷出來就用列舉類的__menbers__屬性

from enum import enum

class

color

(enum):

yellow = 1

yellow_alias = 1

black = 3

red = 4

for k in color:

print(k)

print('----上面是列印出k,下面是列印出v----')

for v in color.__members__.items(): # 這樣得出的是元組

print(v)

--------------------------------------------

輸出:color.yellow

color.black

color.red

----上面是列印出k,下面是列印出v----

('yellow', 1>)

('yellow_alias', 1>)

('black', 3>)

('red', 4>)

用的__menbers__屬性中的items()方法列印的結果是元組,不想要這麼複雜的結果可以不加items()方法。

from enum import enum

class

color

(enum):

yellow = 1

yellow_alias = 1

black = 3

red = 4

for v in color.__members__:

print(v)

------------------------------------------

輸出:yellow

yellow_alias

black

red

列舉 建構函式 注意事項

列舉 定義 列舉是乙個被命名的整形常數的集合,用於宣告一組帶識別符號的常數。類似人的性別 男和女,一周的星期只能是七天中的乙個。類似這種當乙個變數有幾種固定可能的取值時。就可以將它定義為列舉型別。列舉被設計成是單例模式,即列舉型別會由jvm在載入的時候,例項化列舉物件,你在列舉類中定義了多少個就會例...

python 注意事項

from functools import reducereduce 函式會對引數序列中元素進行累積。函式將乙個資料集合 鍊錶,元組等 中的所有資料進行下列操作 用傳給 reduce 中的函式 function 有兩個引數 先對集合中的第 1 2 個元素進行操作,得到的結果再與第三個資料用 func...

python注意事項

編寫python的注意事項 表示式與基本語句的不同 結果相同但複雜的表示式系統可能會提示出錯 如22為表示式 print 22 為語句 字元縮排 python有乙個特點,就是具有強制縮排的功能,而強制縮排一般我們採用tab鍵,如果在編寫過程中採用tab和空格鍵並用,系統極有可能會出錯 注釋 注釋是為...