Python 的 enum 模塊源碼分析

成員名不允許重複 這部分我的第一個想法是去控制__dict__中的 key 。但這樣的方式並不好,__dict__ 範圍大,它包含該類的所有屬性和方法。而不單單是枚舉的命名空間。我在源碼中發現 enum 使用另一個方法。通過 __prepare__ 魔術方法可以返回一個類字典實例,在該實例 使用__prepare__ 魔術方法自定義命名空間,在該空間內限定成員名不允許重複。 再看看 Enum 模塊
相關文章
相關標籤/搜索