python float类不会出现在类层次结构中,除非“prodded”

2024-09-26 17:47:18 发布

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

如果出于某种原因使用此函数打印python类的层次结构,则输出中不会显示“float”类型。在

def printHier(cls, indent = 0, tab = "  "):

    print "%s%s" % (tab*indent, cls.__name__)

    try:
        subclasses = cls.__subclasses__()
    except TypeError:
        subclasses = cls.__subclasses__(cls)

    subclasses.sort(key = lambda v: v.__name__)

    for subcls in subclasses:
        printHier(subcls, indent = indent + 1)

printHier(object)

如果我定义这个附加函数(如下)并在调用第一个函数之前调用它,那么float就会出现。有人能解释这种奇怪的行为吗?python有什么懒惰的地方吗?我想知道它是否也会错过其他的课程。在

^{pr2}$

Tags: 函数name类型层次结构deffloattabcls
1条回答
网友
1楼 · 发布于 2024-09-26 17:47:18

这似乎是Python2.6.1的一个问题。float显示在我的安装(2.6.4和2.7,都在Windows上)和Jay和samplebias测试的其他较新版本上。在

我在cpythonchangelog中寻找了一些相关的东西,但是我找不到任何似乎相关的东西。在

相关问题 更多 >

    热门问题