| You are here: Inicio > Inmersión en Python > El poder de la introspección > Argumentos opcionales y con nombre | << >> | ||||
Inmersión en PythonPython de novato a experto |
|||||
Python permite que los argumentos de las funciones tengan valores por omisión; si se llama a la función sin el argumento, éste toma su valor por omisión. Además, los argumentos pueden especificarse en cualquier orden indicando su 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.
Aquí tiene un ejemplo de info, una función con dos argumentos opcionales
def info(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 info sólo con un argumento, spacing valdrá 10 y collapse valdrá 1. Si se llama a info 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 estaría abandonado a su suerte, pues tendría que invocar a la función con los tres argumentos. Pero en Python, los argumentos pueden indicarse por su nombre en cualquier orden.
info(odbchelper)info(odbchelper, 12)
info(odbchelper, collapse=0)
info(spacing=15, object=odbchelper)
Esto sorprende hasta que se advierte que los argumentos simplemente forman un diccionario. El método “normal” de invocar 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 usted llamará a las funciones de la forma “normal”, pero siempre dispone de esta flexibilidad adicional si la necesita.
| Lo único que necesita para invocar 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. | |
<< El poder de la introspección |
| 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | |
Uso de type, str, dir y otras funciones incorporadas >> |