Python:NoneType错误.它们看起来很熟悉

Pet*_*art 0 python

我一直在寻找NoneType半天.我通过生成由t2表示的Object来放置'print'和dir().我使用'post mortem'查看崩溃后的数据结构,无处可找到NoneType.我想知道是否这是由代码的其他部分(一厢情愿的想法)启动的那些错误之一,我想知道是否有人认识到这一点?(k2是'int')

 File "C:\Python26\Code\OO.py", line 48, in removeSubtreeFromTree
    assert getattr(parent, branch) is subtreenode
TypeError: getattr(): attribute name must be string, not 'NoneType

 File "C:\Python26\Code\OO.py", line 94, in theSwapper
    st2, p2, b2 = self.removeSubtreeFromTree(t2, k2)
TypeError: 'NoneType' object is not iterable
Run Code Online (Sandbox Code Playgroud)

Man*_*agu 5

NoneTypeNone对象的类型.所以,在第一个错误中,branchNone.第二个错误在没有看到源代码的情况下更难诊断,但是在某处显示,t2数据结构并不完全像您所认为的那样.

当这出现在我身上时,我通常会发现我忘了用return声明结束我的一个功能.没有显式返回的函数将返回None.

  • ...或具有多个退出点的函数,而不是每个退出点的显式返回值. (2认同)