Python 使用另一个类调用类时的AttributeError
我在一个无类函数中有以下代码:Python 使用另一个类调用类时的AttributeError,python,Python,我在一个无类函数中有以下代码: while room.getNumCleanedTiles() < min_coverage * room.getNumTiles(): for index in range(0, len(roboList)): room.cleanTileAtPosition(positionList[index]) roboList[index].updatePosi
while room.getNumCleanedTiles() < min_coverage * room.getNumTiles():
for index in range(0, len(roboList)):
room.cleanTileAtPosition(positionList[index])
roboList[index].updatePositionAndClean()
positionList[index] = roboList[index].getRobotPosition
count += 1
然而,通过打印语句可以清楚地看出,positionList[index]
确实是类position
的一个位置;那个房间
是一个矩形房间
;当独立于cleanTileAtPosition
调用时,getX()
和getY()
在该位置工作
这段代码有没有什么地方会引起我的错误 在getRobotPosition之后添加
()
。查看您的课程将增加您的优势。。另外,我们在这里没有看到函数
对象。从我从您的代码中看到的情况来看,您确定调用的是函数.getX()
而不是函数.getX
?错误应该会给您一些回溯。你能把它寄出去吗?你确定你认为某个地方没有一个变量对应于一个类实例,但它已被重命名,现在是一个函数吗?如果异常发生在cleanTileAtPosition
内部,请向我们展示该函数,而不是调用它的其他代码。另外,向我们显示打印功能的结果,并尝试打印dir(param)
以及param
,以验证它确实具有getX
。显然,您正在调用的是函数对象,这意味着它不是位置。@Pat:这怎么可能导致这个问题?如果foo.getX()
有效,foo.getX
永远不会抛出AttributeError。(好吧,如果你真的搞错了描述符,你可以做到这一点——例如,让getX成为一个@property
,然后删除它的get函数,但错误仍然不会是上面显示的错误。)
"AttributeError: 'function' object has no attribute 'getX.'"