2014-11-22 21 views
5

mio codice genera il seguente errore: TypeError: object() takes no parametersTypeError: oggetto() non accetta parametri

class Graph(object): 
    def vertices(self): 
     return list(self.__graph_dict.keys()) 

if __name__ == "__main__": 

    g = { "a" : ["d"], 
      "b" : ["c"], 
      "c" : ["b", "c", "d", "e"], 
      "d" : ["a", "c"], 
      "e" : ["c"], 
      "f" : [] 
     } 

    graph = Graph(g) 

    print("Vertices of graph:") 
    print(graph.vertices()) 

C'è un modo per risolvere questo problema?

risposta

11

La classe Graph non ha argomenti su __init__ quindi quando si chiama:

graph = Graph(g)

Si ottiene un errore perché Graph non sa cosa fare con 'g'. Penso che si possa desiderare:

class Graph(object):  
    def __init__(self, values): 
     self.__graph_dict = values 
    def vertices(self): 
     return list(self.__graph_dict.keys()) 
Problemi correlati