要将属性添加到基类的属性,可以使用以下方法:
class BaseClass:
def __init__(self, name):
self.name = name
class SubClass(BaseClass):
def __init__(self, name, age):
super().__init__(name)
self.age = age
def add_property(cls):
def wrapper(*args, **kwargs):
instance = cls(*args, **kwargs)
instance.age = None
return instance
return wrapper
@add_property
class BaseClass:
def __init__(self, name):
self.name = name
class MetaClass(type):
def __new__(cls, name, bases, dct):
dct['age'] = None
return super().__new__(cls, name, bases, dct)
class BaseClass(metaclass=MetaClass):
def __init__(self, name):
self.name = name
以上三种方法都可以实现将属性添加到基类的属性,具体选择哪种方法取决于具体的需求和场景。
领取专属 10元无门槛券
手把手带您无忧上云