Any name that appears in a function's argument list, or any name that is set to a value anywhere in the function, is said to be local to the function. If a local name is the same as a name from outside the function (a so-called global name), references to that name inside the function will refer to the local name, and the global name will be unaffected. Here is an example:
>>> x = 'lobster' >>> y = 'Thermidor' >>> def f(x): ... y = 'crevettes' ... print x, y ... >>> f('spam') spam crevettes >>> print x, y lobster Thermidor
Keyword parameters have a special characteristic: their names are local to the function, but they are also used to match keyword arguments when the function is called.