I'm just wondering about some aspects of pythons range() function.
If you give it a single argument like range(10) It will take this argument as the point to stop. If you give two args, it will take them as start, stop, and if you give three args, it will handle them as start, stop, steps. 
How is it that the order of arguments changes? With one argument it's just "stop", but the docs say "start, stop, steps"!
For example, if I make a function with default parameters (I think, it has to do something with that), like foo(bar=None, baz=None, arg=None), and call it like foo(1, 2),"bar" will be 1 and "baz" will be 2.
Thank you for help.