欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

深度剖析: 元类 ---生成---> 类 ---生成---> 对象

程序员文章站 2022-04-18 14:31:21
...
====================== 深度剖析:   元类  ---生成--->  类  ---生成--->  对象   ========================


元类定义代码

        class Mymeta(type):
            __instance = None

            def __call__(self, *args, **kwargs):
                super().__init__(class_name, class_bases, class_dic)
                obj = self.__new__(self)
                self.__init__(obj, *args, **kwargs)
                return obj



元类 ----生成---->  类

                    
        class_name = 'Person'
        class_bases = (object,)
        class_dic = {}

        class_body = '''

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

        def show_info(self):
            print(f'姓名:{self.name}   年龄:{self.age}')
        '''

        exec(class_body, {}, class_dic)

        Person = Mymeta(class_name, class_bases, class_dic)



类  ---生成--->  对象:

        p = Person('马林', 18)
        p.show_info()
相关标签: python