BST20180801.py
def search(self, r, key):
        '''
        caution: here the key is the Node's attribute val, not the Node itself
        '''
        root = r
        if root == None:
            return None
        if root.val == key:
            return root
        elif key > root.val:
            self.search(root.r, key)
        else:
            self.search(root.l, key)

        caution: here the key is the Node's attribute val, not the Node itself
        
here the key is the Node's attribute val, not the Node itself
here the key is the Node ' s attribute val not the Node itself
def search(self, r, key):
        root = r
        if root == None:
            return None
        if root.val == key:
            return root
        elif key > root.val:
            self.search(root.r, key)
        else:
            self.search(root.l, key)
def search ( self , r , key ) : root = r if root == None : return None if root . val == key : return root elif key > root . val : self . search ( root . r , key ) else : self . search ( root . l , key )
caution: here the key is the Node's attribute val, not the Node itself
caution : here the key is the Node ' s attribute val not the Node itself
'''
        caution: here the key is the Node's attribute val, not the Node itself
        '''
self
r
key