Funciones en Python - o cualquier lenguaje de programación - a menudo toman argumentos - o parámetros - que representan los valores de la función usará durante su funcionamiento. Mientras que una función puede tener parámetros 0 , utilizando la sintaxis de Python, una función puede tener tantos argumentos o argumentos definidos con los valores por defecto , o incluso listas de argumentos variables de longitud arbitraria . Funciones y Parámetros
Una función típica Python contienen cero o más parámetros. A modo de ejemplo , he aquí una definición de función incluye algunos parámetros :
nameSquare def (x, nombre) : Código
/* de la función * /foto
La función nameSquare realizará cualquiera que sea cálculos que son parte de su código , utilizando los parámetros definidos . Sin embargo, cuando un programador llama a la función para su uso , no es necesario saber que no sea la función nameSquare requiere dos variables, una " x " número entero y una cadena nada " nombre". Para llamar a esta función desde otro código , un programador debe proporcionar dos - y sólo dos - las variables o valores :
nameSquare x = ( y, z )
y = nameSquare ( 5 , 'Bob' )
z = nameSquare ( 8 ) //Error . El segundo argumento no definida
parámetros predeterminados
En ciertas situaciones, un programador puede optar por tener algunos de los argumentos en una función de definición por defecto a un valor determinado. Uso de la función nameSquare , el parámetro "nombre" puede de forma predeterminada una cadena que representa un nombre :
nameSquare def (x , nombre = ' bob' ) :
Ahora, cuando el programador llama al función en el código, no estará obligado a proporcionar un valor para el segundo argumento ( nombre). El programador puede proporcionar un argumento, en caso de que desee reemplazar el valor predeterminado :
y = nameSquare ( 5 )
z = nameSquare ( 4 , 'Robert ' )
Los argumentos de palabras clave
similares a la definición de valores por defecto para los argumentos , un programador puede definir también una serie de argumentos de palabras clave mediante la creación de pares clave -valor. Considere nameSquare ejemplo :
nameSquare def (x , nombre = ' bob' , title = "rey" , afición = ' sellos ' ) :
cualquier palabra clave o argumentos por defecto debe seguir el argumentos requeridos ( x) . El argumento necesario también siempre debe venir antes de argumentos clave cuando un usuario llama a una función . Sin embargo , los propios argumentos de palabra clave pueden ser llamados en cualquier orden , siempre y cuando se utiliza la palabra clave correcta :
nameSquare x = (x , nombre = ' harry ' , afición = ' sellos ' ) guía
y = nameSquare (x )
nameSquare z = (x , title = "rey" )
z = nameSquare ( name = 'George ' ) //error , falta el argumento ' x'
argumento variable Listas
Además, una función puede tener una lista variable de argumentos a través del uso de " * args " palabra clave . Una lista de argumentos variable simplemente significa que el usuario puede introducir una cantidad arbitraria de argumentos en una función , cuya función será analizar :
nameSquare def (x, * args ) :
Dentro de la función , * args representa una colección de los argumentos variables proporcionadas por el programador. Los argumentos en args "* " se puede acceder a la función de índice ( * args [ 0 ] , * args [ 1 ] ) . La lista de argumentos variable debe aparecer como el último parámetro proporcionado en la definición.
NameSquare x = ( x, y , z, 4 , 5 ) //* args [ 0 ] es y, * args [ 1 ] es z , etc
nameSquare y = (x, 2 , 4 ) //* args [ 0 ] es 2 , * args [ 1 ] es 4