def getVars(self, expression):
    list = {}
    if (type(expression).__name__ == 'Variable'):
        list[expression.name] = 'any'
    if hasattr(expression, 'operands'):
        for p in expression.operands:
            if (type(p).__name__ == 'Variable'):
                list[p.name] = 'any'
            elif hasattr(p, 'operands'):
                subList = self.getVars(p)
                list = {**list, **subList}
    return list
def getVars(self, expression):
    list = {}
    if (type(expression).__name__ == 'Variable'):
        list[expression.name] = 'any'
    if hasattr(expression, 'operands'):
        for p in expression.operands:
            if (type(p).__name__ == 'Variable'):
                list[p.name] = 'any'
            elif hasattr(p, 'operands'):
                subList = self.getVars(p)
                list = {**list, **subList}
    return list