gpt4 book ai didi

Python 3 : Set namespace for dynamic classes

转载 作者:行者123 更新时间:2023-12-01 01:32:13 25 4
gpt4 key购买 nike

我正在编写一个 Python (3.6) 程序来从用户提供的 Yaml 文件动态生成类。

使用type()这个过程似乎非常简单,但我无法控制生成的类的模块名称。

一个最小的例子:

>>> x = type('hey.Ho', (), {})
>>> x
__main__.hey.Ho

此外(更接近我的实际代码):

>>> from abc import ABCMeta
>>> class BaseClass(metaclass=ABCMeta):
... pass

>>> x = type('hey.Ho', (BaseClass,), {})
>>> x
abc.hey.Ho

如何让我的新类命名空间仅为 hey.Ho

最佳答案

您想要设置类的 __module__ 属性:

>>> type('Ho', (), {'__module__': 'hey'})
<class 'hey.Ho'>

关于Python 3 : Set namespace for dynamic classes,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52748764/

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