Funciones y Módulos
Índice:
Conceptos fundamentales para entender las funciones
Antes de entrar de lleno en el tema “funciones” vamos a hablar de Reutilización del código concepto fundamental a la hora de programar.
A medida que los programas se “hacen grandes” se tornan más difíciles de mantener, motivo por el cual, resulta indispensable no repetirse a uno mismo, es decir: tratar de evitar escribir el mismo fragmento de código en múltiples ocasiones.
Esta presenta, al menos, dos ventajas:
- La modularidad del programa: Esto sería dividir el programa principal en una serie de subprogramas o módulos más simples que facilitan la lectura, corrección y mantenimiento del programa.
- Reutilización del código: Es crear fragmentos de código, mediante funciones, que permitan ser llamados en distintos momentos del programa sin necesidad de escribir el código original nuevamente.
Funciones
Ya conocimos, en encuentros anteriores, algunas funciones.
print(), int(), float(), str(), type(), range()
Estás funciones están predefinidas en la biblioteca estándar de Python.
Ahora veremos como crear nuestras propias funciones.
Declarar una función
Para declarar una función debemos hacer uso de la palabra reservada def seguida del nombre la función, el nombre debe ser descriptivo de la misma, siguiendo las mismas reglas de nombres que se aplican a las variables.
|
|
Recordar que se debe tener declarada la función antes de invocarla, caso contrario se generará un error.
Parámetros
Una función puede o no recibir datos. A estos datos los llamamos parámetros.
Le decimos argumento al dato enviado.
|
|
|
|
- Los parámetros deben estar separados por comas (,).
- También es importante el orden en el que los argumentos son enviados.
- Las funciones pueden recibir, además de los valores como vimos en los ejemplos anteriores, cualquier estructura de datos (variables, listas, diccionarios, etc).
|
|
|
|
Retorno en una función
Como vimos las funciones nos permiten modular el código y ejecutar ciertas tareas pero también permiten, una vez realizado el proceso que en ellas se describe, retornar datos.
Para indicar que debe retornar un dato usamos la palabra reservada return
|
|
|
|
Parámetros por defecto
A veces queremos que la función tenga ciertos parámetros definidos.
|
|
|
|
Argumentos indefinidos
Cuando no sabemos cuantos argumentos le vamos a enviar a la función podemos usar el símbolo * delante del parámetro.
|
|
Cuando enviamos argumentos por clave-valor pero, no sabemos cuantos elementos, podemos hacer algo similar al ejemplo anterior. En este caso usamos ** (dos) asteriscos delante del parámetro
|
|
Funciones vacías
Las funciones no pueden estar vacías porque darán un error.
|
|
Si queremos, por algún motivo, que la función se declare vacía usamos la palabra reservada pass
|
|
Comentar una función
Documentar una función es una parte muy importante a la hora de escribir código. Debe servir de guía tanto para quien escribe el programa como para quien lo lee.
|
|
Algunas funciones útiles
Vamos a conocer algunas funciones pre definidas en el lenguaje Python.
Funciones para cadenas
lower()
Convierte todos los caracteres a minúsculas.
|
|
upper()
Convierte todos los caracteres a mayúsculas.
|
|
replace(valor_actual,valor_nuevo)
Reemplaza valor actual por el valor nuevo.
|
|
split()
Convierte la cadena en una lista
|
|
startswith(valor)
Retorna True si la cadena comienza con el valor indicado caso contrario Retorna false.
|
|
endswith(valor)
Retorna True si la cadena termina con el valor indicado caso contrario Retorna false.
|
|
Funciones numéricas
min()
Retorna el valor mínimo dada una serie de números.
|
|
max()
Retorna el valor máximo dada una serie de números.
|
|
abs(valor)
Retorna el valor absoluto de un número.
|
|
sum(lista)
Dada una lista con valores numéricos, retorna la suma de todos los elementos
|
|
Funciones para diccionarios
in ()
Retorna True si la clave existe en ese diccionario caso contrario retornará False
|
|
|
|
get(clave)
Retorna el valor de una clave en el diccionario, si no existe retorna None
|
|