Inicio > Inmersión en Python > El poder de la introspección > Argumentos opcionales y con nombre | << >> | ||||
diveintopython.org Python para programadores con experiencia |
Python permite que los argumentos de funciones tengan valores por omisión; si la función es llamada sin el argumento, éste toma su valor por omisión. Además, los argumentos pueden especificarse en cualquier orden si se les da nombre. Los procedimientos almacenados en SQL Server Transact/SQL pueden hacer esto; si es usted un gurú de los scripts en SQL Server, puede saltarse esta parte.
Ejemplo 2.4. help, una función con dos argumentos opcionales
def help(object, spacing=10, collapse=1):
spacing y collapse son opcionales, porque tienen asignados valores por omisión. object es obligatorio, porque no tiene valor por omisión. Si se llama a help sólo con un argumento, spacing valdrá 10 y collapse valdrá 1. Si se llama a help con dos argumentos, collapse seguirá valiendo 1.
Supongamos que desea usted especificar un valor para collapse, pero acepta el valor por omisión de spacing. En la mayoría de los lenguajes no tendría tanta suerte, pues debería llamar a la función con los tres argumentos. Pero en Python, los argumentos pueden indicarse por su nombre en cualquier orden.
Ejemplo 2.5. Llamadas válidas a help
help(odbchelper) help(odbchelper, 12) help(odbchelper, collapse=0) help(spacing=15, object=odbchelper)
Esto sorprende hasta que se advierte que los argumentos simplemente forman un diccionario. El método “normal” de llamar a funciones sin nombres de argumentos es realmente un atajo por el que Python empareja los valores con sus nombres en el orden en que fueron especificados en la declaración de la función. La mayor parte de las veces llamará usted a las funciones de la forma “normal”, pero siempre dispone de esta flexibilidad adicional si la necesita.
Lo único que debe hacerse para llamar a una función es especificar un valor (del modo que sea) para cada argumento obligatorio; el modo y el orden en que se haga esto depende de usted. |
Lecturas complementarias
El poder de la introspección | 1 2 3 4 5 6 7 8 9 | type, str, dir, y otras funciones incorporadas |