A computer stack is a temporary abstract data structure which operates on the principle of 'last in first out' (more information on it may be found at http://en.wikipedia.org/wiki/Stack_data_structure). In this class definition, the first function is for the class itself. This is a required part of every class; it must have a function pertaining to itself. As the activities around a stack are essentially two, two functions are set up. The first pushes data on the stack. The second pops off the last piece of data. Finally, a very helpful piece of information to know is how many items are in the stack. For this, the class has a length function.
To initate a class, simply assign an instance to a variable name as shown in the first line below. One accesses the methods of the class by prefixing the name of the instance to the name of the method.
heap = Stack() # Create an instance of the class
heap.push('Belteshazar') # Push items on the instance heap of class Stack
heap.push(['Battle of Hastings', 1066])
heap.push('1945')
a = heap.pop() # Assigns '1945' to a
b = heap.pop() # Assigns '[Battle of Hastings, 1066]' to b
c = heap.pop() # Assigns 'Belteshazar' to c
del heap # Destroy the instance heap of class Stack

