簡體   English   中英

Python“ object()不帶參數”錯誤

[英]Python “object() takes no parameters” error

當我清楚地使用init函數聲明參數時,我遇到了這個問題。 在此處鏈接我的代碼:

class Node:
def _init_(self,pieza,turno,listaAsignados,parent,costeCamino,coste):#Initialize a Node 
    self.pieza = pieza
    self.turno = turno
    self.listaAsignados = listaAsignados
    self.parent = parent
    self.costeCamino = costeCamino
    self.costeNodo = costeNodo

def calculateCost(C, i, j, listaPadre,M):  #Calculate Cost of the next element
    initCost = 0
    cost = 0
    listaDisponibles = [1]*M
    for i in range(i,M-1):
        minNum = 9999999999
        minIndex = -1
        for j in range(j,M-1):
            if(not listaPadre[j] and listaDisponibles[j] and C[i][j]< minNum ):
                minIndex = j
                minNumber = costMatrix[i][j]
    cost = cost+ minNumber
    return cost 



import heapq
def branch_bound(C):
"""
   -C  = Matrix of costs
"""

items=[]
priorityQueue = []
heapq.heapify(priorityQueue)
listaAsignados = [0]*M#Asigned list for the matrix
raiz = Node(-1,-1,listaAsignados,None,0,0)
heapq.heappush(listaAsignados,[raiz.cost,raiz])

while (priorityQueue):
    examinateNode = heapq.heappop(priorityQueue)
    examinateNode = examinateNode[1]
    i = examinateNode.pieza+1
    if (i == M):
        return examinateNode.cost
    for j in range(0,M-1):
        if(examinateNode.listaAsignados[j] == 0):
            costeCamino = examinateNode.pathCost+ C[i][j]
            costeHijo = costeCamino+ calculateCost(C, i, j, examinateNode.listaAsignados,M)
            nodoHijo = Node(i,j,examinateNode.listaAsignados,examinateNode,costeCamino,costeHijo)

            heapq.heappush(listaAsignados,[nodoHijo.cost,nodoHijo])

return items   

如果有人可以解釋我為什么會發生此錯誤,我將不勝感激。 我不知道為什么如果有構造函數,該錯誤會繼續:

<ipython-input-10-8d5dfd71f776> in branch_bound(C)
 11     heapq.heapify(priorityQueue)
 12     listaAsignados = [0]*M
 13     raiz = Node(-1,-1,listaAsignados,None,0,0)<-------
 14     heapq.heappush(listaAsignados,[raiz.cost,raiz])
 15 

TypeError:object()不接受任何參數

您需要編寫__init__而不是_init_

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM