sábado, 24 de julio de 2021

Todo sobre las funciones en Python 3

Funciones en Python

Una función es un bloque de código con un nombre asociado, que recibe cero o más argumentos como entrada, sigue una secuencia de sentencias, la cuales ejecuta una operación deseada y devuelve un valor y/o realiza una tarea, este bloque puede ser llamados cuando se necesite.

El uso de funciones es un componente muy importante del paradigma de la programación llamada estructurada y tiene varias ventajas:

  • modularización: permite segmentar un programa complejo en una serie de partes o módulos más simples, facilitando así la programación y el depurado.
  • reutilización: permite reutilizar una misma función en distintos programas.

Python dispone de una serie de funciones integradas al lenguaje, y también permite crear funciones definidas por el usuario para ser usadas en su propios programas.

La sentencia if

La sentencia def es una definición de función usada para crear objetos funciones definidas por el usuario.

Una definición de función es una sentencia ejecutable. Su ejecución enlaza el nombre de la función en el namespace local actual a un objecto función (un envoltorio alrededor del código ejecutable para la función). Este objeto función contiene una referencia al namespace local global como el namespace global para ser usado cuando la función es llamada.

La definición de función no ejecuta el cuerpo de la función; esto es ejecutado solamente cuando la función es llamada.

La sintaxis para una definición de función en Python es:

def nombre(lista_de_parametros):
    """Documentación de la función y la cadena de argumentos"""
    sentencias
    return [expresion]

A continuación se detallan el significado de pseudo código fuente anterior:

  • NOMBRE, es el nombre de la función.
  • LISTA_DE_PARAMETROS, es la lista de parámetros que puede recibir una función.
  • DOCSTRING_DE_FUNCION, es la cadena de caracteres usada para documentar la función.
  • SENTENCIAS, es el bloque de sentencias en código fuente Python que realizar cierta operación dada.
  • RETURN, es la sentencia return en código Python.
  • EXPRESION, es la expresión o variable que devuelve la sentencia return.

Un ejemplo simple de función es:

def hola(arg):
 """El docstring de la función"""
    print "Hola", arg, "!"

Argumentos

Al definir una función los valores los cuales se reciben se denominan parámetros, pero durante la llamada los valores que se envían se denominan argumentos.

Por posición

Cuando envié argumentos a una función, estos se reciben por orden en los parámetros definidos. Se dice por tanto que son argumentos por posición:

def suma(a, b):
    c = a + b
	return c

En el ejemplo anterior el argumento 30 es la posición 0 por consiguiente es el parámetro de la función a, seguidamente el argumento 10 es la posición 1 por consiguiente es el parámetro de la función b.

En el IDLE o consola escriba :

suma(10, 10)

Por nombre

Sin embargo es posible evadir el orden de los parámetros si indica durante la llamada que valor tiene cada parámetro a partir de su nombre. En el IDLE o consola escriba :

suma(b = 10, a = 10)

Esta asignando el valor a cada variable.

Parámetros por defecto

Para solucionar la excepción TypeError ejecutada al momento de la llamada a una función sin argumentos, entonces usted puede asignar unos valores por defecto nulos a los parámetros, de esa forma puede hacer una comprobación antes de ejecutar el código de la función:

def resta(a=None, b=None):
	 if a == None or b == None:
	 	print "Error, debes enviar dos números a la función"
	 	return
	 c = a + b	
	 return c

El código anterior es muy útil para evitar el error cuando se declara la función sin argumentos