#6 Procedimientos y funciones en Python
hace 3 años · Actualizado hace 1 año
Por suerte, cuando estamos programando no trabajamos con un montón de líneas de código sin ningún tipo de orden ni segmentación, ya que tenemos, entre otros recursos, las funciones y los procedimientos, que nos ayudan a tener un código mucho más legible y cómodo de trabajar.
Las funciones y procedimientos existen en prácticamente todos los lenguajes de programación, pero lo cierto es que en Python no son tan diferentes, y de hecho se tratan de manera similar.
Si quieres saber qué son (si es que no lo sabes aún) además de las diferencias entre las funciones y los procedimientos, te animo a que sigas leyendo este tutorial, donde te hablaré de todo lo relacionado con funciones en Python.
Además, si estás aprendiendo a utilizar Python, te recomiendo el siguiente curso sobre programación en python:
Entrar al curso completo de Python desde cero a experto
Buenas prácticas en la programación
Las funciones y procedimientos nacen de la necesidad de seguir ciertas buenas prácticas en la programación que nos faciliten un poco la vida a los programadores.
Como te decía en la introducción, normalmente no tenemos un código enorme sin ningún tipo de estructuración, ya que si así fuera sería terrible trabajarlo.
Además, es muy habitual tener que utilizar más de una vez una funcionalidad concreta que implementemos. Es decir, una secuencia de instrucciones que realizan una acción concreta en conjunto: de ahí nacen las funciones.
Por ejemplo, tomando como ejemplo el último tutorial de este curso, donde te hablé de las funciones de ordenación de listas, sería un despropósito copiar (o incluso re-implementar) las mismas líneas de código cada vez que queremos ordenar una lista.
Es mucho más práctico encapsularlo en una función y ponerle un nombre, de forma que usando dicho nombre podemos realizar la funcionalidad concreta sin necesidad de tener montones de líneas de código duplicado.
¿Por qué no es bueno usar código duplicado?
▶︎ Errores Wally
Bueno, aparte de la inconveniencia que genera tener código repetido por doquier, es una de las mejores maneras de provocar al dios de los errores difíciles de encontrar.
Dado que si hacemos un cambio es necesario hacerlo en todas las partes donde tengamos el código duplicado, mientras que usando una función sólo debes cambiarlo en un único lugar y es mucho más fácil evitar errores de esta manera.
▶︎ Bueno y bonito
Cuando tienes cierta experiencia programando, aprecias profundamente ver un código bonito o elegante, donde cada parte del proyecto esté bien segmentada y separada del resto de funciones.
Por eso, utilizar funciones y evitar el código duplicado será una práctica más que utilizada según vayas teniendo más experiencia.
Por tanto, esto nos hace pensar que debemos usar funciones para estructurar nuestros programas. Lo que nos lleva al siguiente punto.
¿Qué son los procedimientos y funciones?
Los procedimientos y las funciones son los métodos que podemos utilizar para encapsular el código que nos permiten reutilizar secciones concretas de código que tienen un comportamiento específico.
Con las funciones y procedimientos podemos estructurar nuestros programas, facilitando la reutilización de código.
Funciones predefinidas en Python
Un ejemplo muy claro de lo que te estoy hablando son las funciones que están predefinidas en Python. Python cuenta con librerías con un sinfín de funciones con pequeños fragmentos de código que realizan una acción concreta.
Por ejemplo, la función sort() que ordena una lista ejecuta el mismo código siempre que se utiliza.
Crear nuestras propias funciones y procedimientos en Python
Por supuesto, nosotros podemos (y debemos) crear nuestras propias funciones mientras estamos programando.
Lo ideal es que una función no tenga más de 20 líneas de código, y como norma nunca deberíamos tener que hacer scroll para ver todas las líneas de código de la función.
A la hora de decidir cuando hacemos una función debemos tener en cuenta que deben ser fragmentos de código que tenga sentido que se encapsulen. Por ejemplo, si queremos implementar una calculadora, deberíamos separar en diferentes funciones las operaciones: suma, resta, división, multiplicación, etc.
Diferencias entre procedimientos y funciones
Ahora bien, llevo un rato hablándote de procedimientos y funciones pero, ¿cuál es la diferencia? Pues lo cierto es que en Python se tratan de manera muy similar, pero la diferencia es que:
- Los procedimientos no devuelven ningún valor.
- Las funciones devuelven un valor, que puede ser de cualquier tipo.
En otros lenguajes podemos encontrar más diferencias entre los procedimientos y las funciones, como por ejemplo la forma de definirlos, pero en Python esta es la diferencia principal. De hecho, no se suele hacer diferenciación entre funciones y procedimientos en este lenguaje de programación.
Cómo definir funciones en Python
Para definir funciones en Python debemos utilizar la palabra reservada def. Para crear una función debemos utilizar la siguiente sintaxis:
def nombreFunción(parametros): operaciones return valor_de_salida (en caso de función)
Deja una respuesta
Otras Entradas Relacionadas