前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >八、python学习笔记-面向对象-metaclass

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

原创
作者头像
堕落飞鸟
发布2022-01-14 11:18:19
1710
发布2022-01-14 11:18:19
举报
文章被收录于专栏:飞鸟的专栏
代码语言: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()

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档