I define a graph class which has a function for taking a node name and adding the name and node to a dictionary.When I run the program, I receive the error at the bottom. Why does it think I am giving it two arguments?
class Graph:
    def __init__(self):
        self.node_list = {}
        self.number = 0
    def node(node_name):
        if node_name in self.node_list.keys:
            return node_list[node_name]
        else:
            node_list[node_name] = Node()
    ...
def PrefixTrieConstruction(patterns):
    trie = Graph()
    trie.node('root')
for pattern in patterns:
    currentNode = trie.node('root')
    for symbol in pattern:
        for daughter in currentNode.daughters:
            if daughter.label == symbol:
                currentNode = daughter
                break
        else:
            node_name = Trie.name_node()
            Trie.node(node_name)
            Trie.edge(currentNode, node_name, symbol)
            currentNode = node_name
return Trie
Traceback (most recent call last):
  File "PythonProject2.3.py", line 168, in <module>
    main()
  File "PythonProject2.3.py", line 163, in main
    TrieMatching(text, PrefixTrieConstruction(patterns))
  File "PythonProject2.3.py", line 68, in PrefixTrieConstruction
    trie.node('root')
TypeError: node() takes 1 positional argument but 2 were given
 
     
     
     
    