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

时间:2017-06-07 05:40:20

标签: python python-3.x class

我制作了一个简单的通用数字类(实际上是函数)。

它返回基于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

0 个答案:

没有答案