如何打印python3类的自定义type()表示?

2024-04-20 01:35:23 发布

您现在位置:Python中文网/ 问答频道 /正文

我制作了一个简单的泛型数字类(实际上是函数)

它返回基于NewClass的输入数字

示例)每行表示基于每个数字的新类

def create_number_class(alphabet):
    class NewClass(object):
        pass
    return NewClass

为了便于阅读,代码几乎被删除了

BinClass = create_number_class("01")
DecimalClass = create_number_class("0123456789")
x = BinClass("100")
y = DecimalClass("3942")

在这种情况下,打印类型(x)时出现问题

当运行下面的代码时,它

print(type(x))
print(type(y))

输出相同

<class '__main__.create_number_class.<locals>.NewClass'>
<class '__main__.create_number_class.<locals>.NewClass'>

我想让他们与众不同。 所以,我改变了代码如下,它不工作。 所以,我不知道该怎么做。一直感谢你们,给了我很多帮助

def create_number_class(alphabet):
    class NewClass(object):
        pass
    NewClass.__name__ = alphabet # input data
    return NewClass

Tags: 代码numberreturnobjectdeftypecreate数字