web stats
Featured image of post Python 11 – Funciones

Python 11 – Funciones

A grandes rasgos, una función es una «porción» del código, a la que pasamos algo, lo procesa, y nos puede o no devolver el resultado.

A grandes rasgos, una función es una «porción» del código, a la que pasamos algo, lo procesa, y nos puede o no devolver el resultado.

Hay que tener en cuenta que las funciones nunca se van a ejecutar por sí solas. Es decir, debemos llamar a la propia función desde otra parte del código para que se ejecute y se procese.

Aunque esto puede parece algo nuevo, ya hemos estado utiilzando funciones preconstruidas, como por ejemplo

  • print()
  • dir()
  • type()

Vamos a definir una funcion muy simple. Se utiliza «def» para definir una función:

1
2
def hola():
     print ("Hola, soy una función")

Con la función definida sin más, no se va a ejecutar nada, por lo que debemos llamarla para que se procese.

1
2
3
4
5
6
7
8
# Defino la función
def hola():
    print ("Hola, soy una función")

# llamo a la funcion    
hola()
PS C:> python.exe .\funcion.py
Hola, soy una función

A las funciones se les puede pasar parámetros. Reutilizando el ejemplo anterior, vamos a pasarle un string para que lo procese e imprima.

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
# Defino la función
def hola(parametro):
    print ("Hola, soy una función. Me has pasado:" + parametro)

# llamo a la funcion    
hola("UNO")
hola("Otro test")
PS C:> python.exe .\funcion.py
Hola, soy una función. Me has pasado:UNO
Hola, soy una función. Me has pasado:Otro test

Lógicamente, en las funciones se pueden utilizar otras funciones, cualquier tipo de lógica, etc.

Cuando en una función definimos un parámetro, este se hace «mandatory«, es decir, que si llamamos a la función sin pasar un parámetro, nos va a mostrar un error.

Para solucionar esto, podemos definir un valor por defecto a la hora de definir la función, de forma que si se llama sin un valor, este coja el definido por defecto:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
# Defino la función
def hola(parametro="vacio"):
    print ("Hola, soy una función. Me has pasado:" + parametro)

# llamo a la funcion    
hola()
hola("Otro test")
PS C:> python.exe .\funcion.py
Hola, soy una función. Me has pasado:vacio
Hola, soy una función. Me has pasado:Otro test

return

Para que la función nos devuelve un parámetro, utilizarmos return. En ese ejemplo vamos a crear una función para sumar dos números que pasemos como parámetros. Utilizamos también print() para imprimir el resultado, ya que sino el valor devuelto únicamente quedaría alojado en memoria y no se mostraría en pantalla.

1
2
3
4
5
6
7
8
# Defino la función
def sumar(num1, num2):
    return num1 + num2

# llamo a la funcion, y imprimo el resultado
print(sumar(20,5))
PS C:> python.exe .\funcion.py
25
comments powered by Disqus
Creado con Hugo-Extended & theme Stack