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
–3:注意:
按道理是列印出color.yellow_alias
的,但因為它們的值相等,第二個標籤就是第乙個的別名,就列印出第乙個標籤。
遍歷列舉不會把別名給迴圈處理,要把別名也遍歷出來就用列舉類的__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和空格鍵並用,系統極有可能會出錯 注釋 注釋是為...