在 Python 中,可以通过元类来动态地创建类和添加方法。具体步骤如下:

  1. 定义一个元类,继承自 type,并重写 __new__ 方法。
class MyMeta(type):
    def __new__(cls, name, bases, attrs):
        # TODO: 添加方法
        return super().__new__(cls, name, bases, attrs)
  1. __new__ 方法中,可以通过修改 attrs 字典来添加方法。
class MyMeta(type):
    def __new__(cls, name, bases, attrs):
        # 添加方法
        attrs['new_method'] = lambda self: print('New Method')
        return super().__new__(cls, name, bases, attrs)
  1. 使用元类创建类时,会自动调用 __new__ 方法来添加方法。
class MyClass(metaclass=MyMeta):
    pass

obj = MyClass()
obj.new_method() # 输出:New Method

这样就可以通过元类在创建类的时候动态地添加方法了。


原文地址: https://www.cveoy.top/t/topic/bEMr 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录