Python问题:TypeError:';非类型';对象不可调用

Python问题:TypeError:';非类型';对象不可调用,python,Python,当我运行pythonxxx.py时,我收到了以下错误消息。如何修复它,非常感谢 c:\Python27>pythonxxx.py 回溯(最近一次呼叫最后一次): 文件“test.py”,第34行,在 打印播放器(1,0,10) TypeError:“非类型”对象不可调用 以下是xxx.py: def create(pos=[0,0]): def player(dir_x,dir_y,step): new_x = pos[0] + dir_x*step n

当我运行pythonxxx.py时,我收到了以下错误消息。如何修复它,非常感谢

c:\Python27>pythonxxx.py 回溯(最近一次呼叫最后一次): 文件“test.py”,第34行,在 打印播放器(1,0,10) TypeError:“非类型”对象不可调用

以下是xxx.py:

def create(pos=[0,0]):
    def player(dir_x,dir_y,step):
        new_x = pos[0] + dir_x*step 
        new_y = pos[1] + dir_y*step
        pos[0] = new_x  
        pos[1] = new_y
        return pos
return player

if __name__ == '__main__':  
player = create()
    print player(1,0,10)
    print player(0,1,20)
    print player(-1,0,10) 

除了缩进,代码没有任何错误。正确答案是:

def create(pos=[0,0]):
    def player(dir_x,dir_y,step):
        new_x = pos[0] + dir_x*step 
        new_y = pos[1] + dir_y*step
        pos[0] = new_x  
        pos[1] = new_y
        return pos
    return player

if __name__ == '__main__':  
    player = create()
    print player(1,0,10)
    print player(0,1,20)
    print player(-1,0,10)
其中打印:

[10, 0]
[10, 20]
[0, 20]

你在干什么<代码>返回播放器?缩进会发生什么情况?缩进是螺旋式的缩进缩进是Python语法的关键部分。在修复缩进之前,您的问题无法得到回答,这显然是错误的。对不起,这只是我的复制/粘贴问题。我的实际编码与您提到的相同,没有缩进问题,不幸的是错误是:print player(1,0,10)中第32行的文件“test.py”TypeError:“NoneType”对象不可调用该错误在按原样使用代码时不会出现。如果您使用的代码与提供的代码不同,则需要更新您的问题。非常感谢,这确实是我遗漏的缩进问题。谢谢你的帮助。