def has_precedence(op1, op2):
    """
    Determines which operator has higher priority: parentheses first,
    then multiplication and division, addition and subtraction last.

    :param op1: first operator
    :param op2: second operator
    :return: True if `op1` has higher precedence than `op2`
    """
    if op2 == '(' or op2 == ')':
        return False
    elif (op1 == '*' or op1 == '/') and (op2 == '+' or op2 == '-'):
        return False
    else:
        return True