In python you can't define such a function :
def cutafter(aList, end=len(aList)-1):
return aList[:end]
Because it says : NameError: name 'aList' is not defined
But you can easily défine:
def cutafter(aList, end=None)
if not(end):
end=len(aList)-1
return aList[:end]
which is a very general trick. That's exactly what optionnal means to me.
So why is it not a feature ?