Safari Books Online is a digital library providing on-demand subscription access to thousands of learning resources.
As we’ve just seen, arguments are always passed by
assignment in Python; names in the def header are assigned to passed-in
objects. On top of this model, though, Python provides additional
tools that alter the way the argument objects in a call are
matched with argument names in the header prior
to assignment. These tools are all optional, but they allow us to
write functions that support more flexible calling patterns, and you
may encounter some libraries that require them.
By default, arguments are matched by position, from left to right, and you must pass exactly as many arguments as there are argument names in the function header. However, you can also specify matching by name, default values, and collectors for extra arguments.