我是靠谱客的博主 痴情火,最近开发中收集的这篇文章主要介绍23.python的特殊类—枚举类,动态创建类(元类),觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

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的特殊类—枚举类,动态创建类(元类)所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(42)

评论列表共有 0 条评论

立即
投稿
返回
顶部