美文网首页
python基础 -- 元类metaclass

python基础 -- 元类metaclass

作者: fada492daf5b | 来源:发表于2018-01-28 14:02 被阅读0次

1. 作用

暂时不深究

2. 操作

# 元类
# 道生一,一生二, 二生三, 三生万物
# type > metaclass > class > instance

def fn(self, name='World'):
    print('love_me_as_i_go')

# 利用type(类名, 继承类, 函数)生产类
Hello = type('Hello', (object,), dict(hello=fn,)) 
h = Hello()
h.hello()


# 上述例子没有出现metaclass
# metaclass 继承 type
# 添加__new__方法
# cls 类对象
# name 类名
# bases 父类
# attrs 属性
class ListMetaclass(type):
    def __new__(cls, name, bases, attrs):
        attrs['add'] = lambda self, value: self.append(value)
        return type.__new__(cls, name, bases, attrs)


class MyList(list, metaclass=ListMetaclass):
    pass

l = MyList()
l.add(11)
l.add(23)
print(l)

相关文章

  • 面试常考(python)

    Python语言特性 1.Python的函数参数传递 2.元类 metaclass metaclass 允许创建类...

  • python基础 -- 元类metaclass

    1. 作用 暂时不深究 2. 操作

  • metaclass

    深刻理解Python中的元类(metaclass) - 文章 - 伯乐在线

  • interview_python

    Python语言特性1 Python的函数参数传递2 Python中的元类(metaclass)3 @static...

  • Python元类metaclass

    最近接触到一个对xml进行序列化的python库,实际上可以理解为一个小的ORM,只不过数据的来源是xml而不是数...

  • Python元类MetaClass

    上文Python中object和type的关系中我们提到元类的概念。type就是最大的一个元类。在这里,我们详细介...

  • Python

    基础知识 元类metaclass:http://blog.jobbole.com/21351/ Decode & ...

  • Python: 陌生的 metaclass

    原文出处: geekvi 元类 Python 中的元类(metaclass)是一个深度魔法,平时我们可能比较少接触...

  • 理解Python中的元类(metaclass)

    理解Python中的元类(metaclass) 这篇文章基本上是What are metaclasses in P...

  • python:metaclass

    metaclass翻译过来应该是元类的意思。python中一切皆是对象,连类也是对象 而类是元类的实例,默认的cl...

网友评论

      本文标题:python基础 -- 元类metaclass

      本文链接:https://www.haomeiwen.com/subject/cdcpaxtx.html