首页 > 技术 > 正文

python中用type来创建一个类

标签:python

起因是和同事讨论Python中的枚举类型的作用与php中有什么不同,后来发现python2.7中本身不带枚举类的,需要自己写代码实现, 3中已经自带枚举类的包了, 用type函数实现,一般我们用type来判断对象的类型(我更倾向用isinstance来判断), 但是type比较 少用的作用是用来创建一个类

代码如下

def __init__(self, name):
    self.name = name


def print_name(self):
    print(self.name)


bases = (object,)

attrs = {
    '__init__' : __init__,
    'print_name' : print_name
}

Duck = type('Duck', bases, attrs)

d = Duck('cola')
d.print_name()

其中type函数包括三个参数, 第一个是类的名字, 第二个可以理解成继承的类,但要是元组格式, 第三个参数是个dict类型, 里面可以包含类的成员变量 ,也可以包含类的成员函数—-其实当你用class定义一个类的时候, python解释器在遇到class的时候只会浏览检测一下class的语法之类的东西, 然后接着会用 内置的type函数来创建类.


原创文章,转载请注明出处!
本文链接:https://wanghongjun2014.github.io/posts/python-type.html
上篇: 常用的各种linux系统安装nodejs
下篇: mysql正常运行偶尔会自动停止

请修改_includes/comment.html添加评论代码。