gpt4 book ai didi

python - 为动态类型指定元类

转载 作者:行者123 更新时间:2023-12-05 01:57:41 26 4
gpt4 key购买 nike

在 Python 中,您可以使用函数 my_type = type(name, bases, dict) 动态创建类型。您将如何为这种类型 my_type 指定元类? (理想情况下,除了定义一个简单地将元类绑定(bind)到实例化子类的一次性 class 对象)

最佳答案

对于 Dynamic Type Creation如果您需要在类语句中提供关键字(包括但不限于关键字“元类”),您可以使用 types.new_class .以下类定义:

class A(B, C, metaclass=AMeta):
pass

可以像这样动态创建:

A = types.new_class(
name="A",
bases=(B, C),
kwds={"metaclass": AMeta},
exec_body=None,
)

这比直接调用 type 更可取,或任何其他元类,因为它解析元类基础 - 取决于 B 的类型和 C , type(A)这里might not necessarily be AMeta .

关于python - 为动态类型指定元类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/68915672/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com