首页
学习
活动
专区
圈层
工具
发布
30 篇文章

八、python学习笔记-面向对象-metaclass

代码语言:javascript
复制
# metaclass就是用来创建类的类
"""
1、一切事物皆为对象,python的class(类)本身也是一个对象(实例),它是tpye的对象(实例)
2、所有的类都默认继承object
3、创建类的本质就是type类的实例化 class = tpye(),所以对于type类来说self是类名
"""


# 示例1、演示创建类的本质
class Foo1:
    def bar(self):
        print('hello Foo1')


# 下面的写法完全等效于上面
"""
1、所有类都是tpye的对象,所以创建类实际上就是创建type的对象,object是所有类的默认父类(即使创建时没有声明)
2、{'bar': fun}表明类Foo2中有一个函数bar,对应的函数是fun
"""
def fun(self):
        print('hello Foo2')


Foo2 = type('Foo2', (object,), {'bar': fun})

foo1 = Foo1()
foo2 = Foo2()

foo1.bar()
foo2.bar()
下一篇
举报
领券