I am trying to figure out how to write code for binary trees in python and this error keeps coming that a certain function is not defined.
class Node:
    def __init__(self , value):
        self.v = value
        self.right = None
        self.left = None
        
    def insert(self , value):
        if self.value:
            if value < self.value:
                if self.left is None:
                    self.left = Node(value)
                else:
                    self.left.insert(value)
            elif value > self.value:
                if self.right is None:
                    self.right = Node(value)
                else:
                    self.right.insert(value)
            else:
                self.value = value
#     def in_order_traversal(self):
        
#     def print(self):
#         self.in_order_traversal()
if __name__ == '__main__':
    r = Node
the error this code gives me is "name 'Node' is not defined"
---------------------------------------------------------------------------
NameError                                 Traceback (most recent call last)
Input In [16], in <cell line: 1>()
----> 1 class Node:
      2     def __init__(self , value):
      3         self.v = value
Input In [16], in Node()
     21 #     def in_order_traversal(self):
     22         
     23 #     def print(self):
     24 #         self.in_order_traversal()
     25     if __name__ == '__main__':
---> 26         r = Node
NameError: name 'Node' is not defined
what is wrong? what do I need to do?
 
     
    