I am new to Python and data structures. While learning binary tree, I found all the available implementations have the methods of the tree inside the node class.
But I want to implement it differently, where along with the Node class, there will be a Binary tree class, which will contain the methods of the Binary tree.
This is the code I came up with, but it raises an error with the arguments I am passing to the functions insertleft() and insertright().
class Node():
    def __init__(self, arg):
        self.left = None
        self.right = None
        self.data = arg
class Bt():
    def __init__(self, root):
        self.root = root
    def insertleft(temp.left, data):    
        if (temp.left == None):
            temp.left.data = data
        elif(data<temp.left.data):
            t1 = temp.left
            insertleft(t1.left, data)
        elif(data>temp.left.data):
            t1 = temp.left
            insertright(t1.left, data)
    def insertright(temp.right, data):  
        if (temp.right == None):
            temp.right.data = data
        elif(data<temp.right.data):
            t1 = temp.right
            insertleft(t1.right, data)
        elif(data>temp.right.data):
            t1 = temp.right
            insertright(t1.right, data)
    def insert(self, data):
        temp = self.root
        if(temp.data = None):
            temp.data = data
        elif(data<temp.data):
            insertleft(temp.left, data)
        elif(data>temp.data):
            insertright(temp.right, data)
r = Bt()
r.root = Node(5)
r.insert(4)
r.insert(6)
These is the error I received:
def insertleft(temp.left, data): ^ SyntaxError: invalid syntax
I am not sure what the right syntax should be. Thanks in advance for your help
 
     
    