Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/batch-file/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 这个函数的参数?_Python - Fatal编程技术网

Python 这个函数的参数?

Python 这个函数的参数?,python,Python,像这样调用此函数时,我遇到一个TypeError: def push(self,item): "Enqueue the 'item' into the queue" self.list.insert(0,item) Python说我需要三个参数,只有两个。我冒昧地猜测,赛尔夫是我所拥有的两个人中的第二个?但是为什么我需要第三个呢?考虑到push()的定义,这是没有意义的 我知道这只是我对Python显示缺乏经验。有人能告诉我这里发生了什么吗 这是一个类的Pacman搜索算法练习

像这样调用此函数时,我遇到一个
TypeError

def push(self,item):
    "Enqueue the 'item' into the queue"
    self.list.insert(0,item)
Python说我需要三个参数,只有两个。我冒昧地猜测,赛尔夫是我所拥有的两个人中的第二个?但是为什么我需要第三个呢?考虑到
push()
的定义,这是没有意义的

我知道这只是我对Python显示缺乏经验。有人能告诉我这里发生了什么吗

这是一个类的Pacman搜索算法练习。我不想问任何可能构成学术欺诈的问题,所以我想尽量减少我发布的代码数量

回溯(最近一次呼叫最后一次):
文件“pacman.py”,第681行,在
runGames(**args)
文件“pacman.py”,第647行,在runGames中
game.run()
文件“/home/user/Documents/search/game.py”,第608行,运行中
agent.registerInitialState(self.state.deepCopy())
文件“/home/user/Documents/search/searchAgents.py”,第116行,在registerInitialState中
self.actions=self.searchFunction(问题)#查找路径
文件“/home/user/Documents/search/search.py”,第105行,在uniformCostSearch中
地平线。推(启动)
TypeError:push()正好接受3个参数(给定2个)
push()
是类
PriorityQueue
的成员

horizon.push(start)
再次编辑此内容,之前我错误地发布了类
Queue
,而不是
PriorityQueue

horizon.push(start)

那个代码不会给出那个错误。请显示完整的回溯,以及类定义的其余部分(什么是
self.list
horizon
)?包括完整的回溯。另外,推送函数是一种方法,还是一种独立函数?您可能需要显示更多不相关的代码,但您不应该实现此队列。。。按将线性缩放您可能忘记初始化地平线。在这一点上,它似乎是一个类而不是一个实例。你的推送方法采用
(self,item,priority)
,你调用
horizon。推送(item)
->self是类实例(horizon),item是项,然后。。。你没有给予优先权,所以你得到了一个错误。