Python functions (and methods) can be called with any number (0 or more) parameters, but the calling sequence must match the 'template' or 'function prototype' given when defining the function. Let's define a function:
def fred(a,b,c=3,d=4,e=5,f=6):
print a,b,c,d,e,f
That function can be called with a minimum of two parameters, and a maximum of six. The mandatory ones are filled into variables called "a" and "b" and any others into "c", "d", "e" and "f". If there aren't enough values, then "f" will become 6, "e" will become 5, "d" will become 4 and "c" will become 3. In other words, values fill in from the beginning.
If you want to fill in some of the optional values, but not from the 'left', you can do so by specifying the name of the variable within the function and its value:
fred (1,2,10,20)
fred (1,2,10,e=20)
fred (1,2,10,f="shishcake",e=20)
Running that:
Dorothy-2:3 grahamellis$ python dxz2
1 2 10 20 5 6
1 2 10 4 20 6
1 2 10 4 20 shishcake
Dorothy-2:3 grahamellis$
(written 2009-10-07 21:38:48)
Associated topics are indexed under
Y105 - Python - Functions, Modules and Packages [2520] Global and Enable - two misused words! - (2009-11-30)
[2506] Good example of recursion in Python - analyse an RSS feed - (2009-11-18)
[2481] Sample code with errors in it on our web site - (2009-10-29)
[2439] Multiple returns from a function in Python - (2009-10-06)
[2011] Conversion of OSI grid references to Eastings and Northings - (2009-01-28)
[1879] Dynamic code - Python - (2008-11-11)
[1871] Optional and named parameters in Python - (2008-11-05)
[1870] What to do with a huge crop of apples - (2008-11-04)
[1869] Anonymous functions (lambdas) and map in Python - (2008-11-04)
[1790] Sharing variables with functions, but keeping them local too - Python - (2008-09-09)
[1784] Global - Tcl, PHP, Python - (2008-09-03)
[1464] Python Script - easy examples of lots of basics - (2007-12-08)
[1202] Returning multiple values from a function (Perl, PHP, Python) - (2007-05-24)
[1163] A better alternative to cutting and pasting code - (2007-04-26)
[1134] Function / method parameters with * and ** in Python - (2007-04-04)
[959] It's the 1st, not the 1nd 1rd or 1th. - (2006-12-01)
[949] Sludge off the mountain, and Python and PHP - (2006-11-27)
[913] Python - A list of methods - (2006-11-03)
[912] Recursion in Python - (2006-11-02)
[900] Python - function v method - (2006-10-20)
[821] Dynamic functions and names - Python - (2006-08-03)
[775] Do not duplicate your code - (2006-06-23)
[749] Cottage industry or production line data handling methods - (2006-06-07)
[745] Python modules. The distribution, The Cheese Shop and the Vaults of Parnassus. - (2006-06-05)
[668] Python - block insets help with documentation - (2006-04-04)
[561] Python's Generator functions - (2006-01-11)
[418] Difference between import and from in Python - (2005-08-18)
[386] What is a callback? - (2005-07-22)
[340] Code and code maintainance efficiency - (2005-06-08)
[308] Call by name v call by value - (2005-05-11)
[303] Lambdas in Python - (2005-05-06)
[294] Python generator functions, lambdas, and iterators - (2005-04-28)
[105] Distance Learning - (2004-10-31)
[96] Variable Scope - (2004-10-22)
Some other Articles
Potted MySQL installationContrasting Cambridge, Bristol and WiltshireVariable storage - Perl, Tcl and Python comparedNot your cup of tea?Optional parameters to Python functionsListening to The MinisterWiltshire Unitary News - Chamber of Commerce IntelligenceMelksham Hotel Rooms - picturesSerialization - storing and reloading objects