def range(*args):
    if len(args) > 3:
        raise TypeError('range expected at most 3 arguments, got %d' % len(
            args))
How does the Python range function have a default parameter before the actual one?