概述
1)枚举类
顾名思义就是枚举,和C语言中的enum差不多。有两种生成方式:
(1)快速生成
无需设定值,默认值从1开始。示例代码如下:
# -*- coding: utf-8 -*-
#!/usr/bin/env python3
from enum import Enum
Week=Enum('Week',('Monday','Tuesday','Wedsday','Tursday'))
for name,member in Week.__members__.items():
print(name,member,member.value)
输出结果如下:
Monday Week.Monday 1
Tuesday Week.Tuesday 2
Wedsday Week.Wedsday 3
Tursday Week.Tursday 4
可以看出是从“1”开始的。
(2)精确生成
生成指定的值。示例代码如下:
# -*- coding: utf-8 -*-
#!/usr/bin/env python3
from enum import Enum,unique
@unique
class Week(Enum):
Monday=0
Tuesday = 1
Wedsday=2
Thursday=3
Friday=4
这里注意一点,修饰器@unique是为了防止重复变量。
(3)访问方式
如下:
print(Week.Friday)
print(Week['Wedsday'])
print(Week.Thursday.value)
for name,member in Week.__members__.items():
print(name,'=>',member,member.value)
输出结果:
Week.Friday
Week.Wedsday
3
Monday => Week.Monday 0
Tuesday => Week.Tuesday 1
Wedsday => Week.Wedsday 2
Thursday => Week.Thursday 3
Friday => Week.Friday 4
2)动态创建类(元类)
这里先补一个小问题:
def func(name):
print('Hello,%s.'%name)
func('Jack')
就是什么时候打印输出,需要%号——当name为形参时。
最后
以上就是痴情火为你收集整理的23.python的特殊类—枚举类,动态创建类(元类)的全部内容,希望文章能够帮你解决23.python的特殊类—枚举类,动态创建类(元类)所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复