定义继承类时可以避免``metaclass=```吗?

问题描述 投票:0回答:0

我想要一个自定义元类,它看起来像

TypedDict
的定义。

当一个人声明一个新的

TypedDict
时,我们会写这样的内容:

from typing import TypedDict

class MyClass(TypedDict, total=False):
  pass

但是,当我声明元类时,它看起来像这样:

class MetaSerial(type):
  def __new__(pls, name, bases, act, exclude: list[str] = [], custom: list[str] = []):
    dct["_exclude"] = exclude
    dct["_custom"] = custom
    return super().__new__(cls, name, bases, dct)

class Serial(metaclass=MetaSerial, exclude=["value"], custom=["terminals"]):
  pass

所以,价值百万美元的问题是:有没有办法让我摆脱烦人的 metaclass= 并使用类似的东西:

class Serial(MetaSerial, exclude=["value"], custom=["terminals"]):
  pass
python metaclass
© www.soinside.com 2019 - 2024. All rights reserved.