自定义元类

class MyType(type):

    def __init__(self,a,b,c):
        print("构造")

    def __call__(self, *args, **kwargs):
        obj = object.__new__(self)   # 创建一个对象
        self.__init__(obj,*args,**kwargs)   # 调用Foo的__init__方法
        return obj


class Foo(metaclass=MyType):
    def __init__(self,name):   # 给f封装属性
        self.name = name

f = Foo("ll")   # 调用类的__call__方法
print(f.name)
print(f.__dict__)


阅读更多
想对作者说点什么?

博主推荐

换一批

没有更多推荐了,返回首页