From the python.org tutorial
Slice indices have useful defaults; an omitted first index defaults to zero, an omitted second index defaults to the size
You are confused with the behavior of the stepping. To get the same result, what you can do is:
a[0:5][::-1] 'olleh'
Indeed, stepping wants to 'circle' around backwards in your case, but you are limiting it's movement by calling a[0:5:-1].
a[0:5:-1]