Here is pseudo-Python-code for quicksort. It is based on the algorithm as it is presented in Introduction to Algorithms by Thomas H. Cormen, Charles E. Leiserson, and Ronald L. Rivest, Cambridge, Mass.: MIT Press, 1990. (The code may look a lot like real Python code, but it isn't.)

The algorithm is implemented by the Quicksort class. After each chunk of code, I list the name of the Quicksort method that implements it. The mapping is a little rough, but I think you'll see the connection.

def Quicksort(A, p, r):
    """Sort array A in place.

    Initial call should be Quicksort(A, 0, len(A))
    if p < r:
	q = Partition(A, p, r)
	Quicksort(A, p, q)
	Quicksort(A, q+1, r)
Implemented by Quicksort.done
def Partition(A, p, r):
    x = A[p]                       # the pivot element
    i = p - 1
    j = r + 1
Implemented by Quicksort.start
    while 1:
	j = j - 1
	while A[j] <= x:
	    j = j - 1
Implemented by Quicksort.slide_left
	i = i + 1
	while A[i] >= x:
	    j = j - 1
Implemented by Quicksort.slide_right
	if i < j:               # elements being compared
	    swap(A[i], A[j])
	    return j

Implemented by Quicksort.exchange_or_done