Entrada

Python 馃悕 : Funciones

Funciones en Python

Anteriormente hemos visto funciones nativas que vienen con Python como len() para calcular la longitud de una lista, pero al igual que en otros lenguajes de programaci贸n, tambi茅n podemos definir nuestras propias funciones. Para ello tenemos que usar la palabra reservada def.

Sintaxis de una funci贸n

1
2
3
4
def name_function(param):
	# ...code

	return val

Cualquier funci贸n tendr谩 un nombre, opcionalmente podr谩 recibir par谩metros, el cuerpo que contiene el c贸digo a ejecutar y opcionalmente, pero que en la mayor铆a de los casos se hace es que nos retorna un valor. Por ejemplo el siguiente c贸digo define una funci贸n que recibe un par谩metro y retorna el valor pasado como argumento a la funci贸n elevado al cuadrado:

1
2
def elevar_al_cuadrado(numero):
	return numero ** 2

Par谩metros y argumentos

En la definici贸n de una funci贸n los valores que se reciben se denominan par谩metros, pero durante la llamada a cuyas funciones, los valores que se env铆an se denominan argumentos.

Argumentos por posici贸n

Cuando enviamos argumentos a una funci贸n, estos se reciben en orden seg煤n los par谩metros definidos. En esos casos podemos decir que se trata de argumentos por posici贸n:

1
2
3
4
def resta(a, b):
	return a - b

print(resta(50, 10))
1
40

Argumentos por nombre

Sin embargo es posible evadir el orden de los par谩metros, si indicamos en la llamada a la funci贸n que valor tiene cada par谩metro a partir de su nombre:

1
2
3
4
def resta(a, b):
	return a - b

print(resta(b=50, a=10))
1
-40

Llamada sin argumentos

Al llamar a una funci贸n que tiene definidos par谩metros, si no le enviamos los argumentos correctamente lanzar谩 un error:

1
resta()
1
2
3
4
Traceback (most recent call last):
  File "c:/Users/file.py", line 4, in <module>
    resta()
TypeError: resta() missing 2 required positional arguments: 'a' and 'b'

Par谩metros por defecto

Para evitar un error como en el caso anterior, podemos asignar valores por defecto, de esa forma podr铆amos hacer una comprobaci贸n antes de ejecutar el c贸digo de la funci贸n:

1
2
3
4
5
6
def resta(a=None, b=None):
	if a == None or b == None:
		return "Error, debes enviar dos n煤meros a la funci贸n para operar"
	return a-b

print(resta())
1
Error, debes enviar dos n煤meros a la funci贸n para operar
Esta entrada est谩 licenciada bajo CC BY 4.0 por el autor.