Las funciones son bloques de código asociados a un procedimiento determinado, en Python  las funciones se crean con la palabra reservada def seguidas de el nombre de la función y entre paréntesis (si los requiere) le sigue algún parámetro, de esta manera:

def Funcion(parametro1, parametro2, parametro3, parametron):

Como es ya conocido, el bloque de código en Python esta delimitado por los espacios o tabulaciones en las líneas correspondientes a dicho bloque, el mismo principio se aplica a las funciones, procedamos a hacer una función simple, sin parámetros y que solamente devuelva el texto ‘hola’ y lo imprima.

>>> def hola():
... print('Hola')
...
>>> hola()
Hola

En el ejemplo anterior, la función se encarga de llamar al bloque de código compuesto en este caso solamente por la línea: print(‘Hola’), y al llamarlo se encarga de ejecutar dicho bloque de código, hasta aquí me imagino que todo está más que claro, ahora veamos un ejemplo de una función que imprime el texto que se le envía como parámetro:
>>> def Imprimir(texto):
...     print(texto)
...
>>> Imprimir('texto de ejemplo')
texto de ejemplo
>>>

En este caso solo se esta mandando a imprimir usando la función print() lo cual es un poco redundante, pero nos ayuda a conocer como es que la función Imprimir() es capaz de recibir el Argumento y lo utiliza como parámetro con el cual trabaja.

Python, al igual que otros lenguajes de programación utiliza la palabra reservada return para devolver un valor como resultado de una función, por ejemplo:
>>> def suma(sumando1, sumando2):
... return sumando1 + sumando2
>>> resultado = suma(2,4)
>>> resultado
6
>>> print(suma(3,1))
4

Ahora un ejemplo un poco más complejo:
>>> def AreaCirculo(radio):
... return 3.1426 * radio * radio
...
>>> print('El Area del circulo es:',AreaCirculo(3),'unidades cuadradas')
El Area del circulo es: 28.2834 unidades cuadradas

Un ejemplo muy similar al anterior, pero ahora con 2 parámetros:
>>> def volumenCono(radio,altura):
... numerador = 3.1416 * (radio * radio) * altura
... return numerador/3
...
>>> volumen = volumenCono(3,4)
>>> print('El volumen del cono es:',volumen,'unidades cubicas')
El volumen del cono es: 37.6992 unidades cubicas

En este caso, al pasar un número equivocado de argumentos, arrojará un error como este:
>>> volumen = volumenCono(2)
Traceback (most recent call last):
File "", line 1, in
TypeError: volumenCono() missing 1 required positional argument: 'altura'

¿Por Valor o por referencia?

Hagamos un recordatorio de algo de programación básica: ¿Que es un parámetro por valor y que es un parámetro por referencia?

Cuando trabajamos con parámetros por valor, se copia el contenido de la variable que llama a la función (argumento) a la variable que es recibida por la función (parámetro), veamos lo que pasa en el siguiente pseudocódigo:

Función(variable2)
-inicio función-
procedimiento...
-fin función-
entero variable1 = 2
LlamadaAfunción(variable1)

En el pseudocódigo anterior, las variables: “variable1” y “variable2” tienen el mismo valor (2) pero, son variables diferentes, es decir, cualquier alteración de la variable dentro de la función no se verán fuera de esta, se utiliza normalmente al retornar el valor de la variable y ya se puede usar fuera de esta.

En los parámetros por referencia, lo que se pasa a la función es digamos la dirección o puntero de la variable para hacer referencia a esta, es decir se trabaja sobre la misma variable que se pasa como Argumento, cualquier alteración de dicha variable dentro de la función se verá reflejada fuera de esta.

¿Como hace Python entonces para las funciones? ¿Parámetros por valor o por referencia? La respuesta es simple: Python pasa por valor todas las variables que sean del tipo inmutable (como las Tuplas) y pasa por referencia todas las variables que sean del tipo mutable (como las Listas).

Retornar mas de un valor en una función

>>> def error(mas, menos):
... return mas + 5, menos - 5
...
>>> valorMedido = 25.39
>>> errorMaximo, errorMinimo = error(valorMedido,valorMedido)
>>> print("La mayor medida posible es: ",errorMaximo," y la menor medida posible es: ",errorMinimo)
La mayor medida posible es: 30.39 y la menor medida posible es: 20.39

En este ejemplo, se hace una función que retorna 2 valores, esto lo logra Python haciendo uso de una tupla, esta tupla es creada en el proceso solo para retornar estos valores. Se puede ver que en la palabra return se mandan los valores a retornar separados por coma y al hacer la llamada a la función se hace una igualación de 2 variables separadas por coma, lo hace en el mismo orden en que la función retorna las variables.

Esto es todo por ahora, espero que esta entrada sea de mucha utilidad, saludos.

3
Deja una respuesta

avatar
2 Hilos de comentario
1 Respuestas de hilo
0 Seguidores
 
Comentario más reaccionado
El hilo de comentarios más caliente
2 Autores de comentarios
César Iglesiasjose Autores de comentarios recientes
  Suscribirse  
Los más recientes Los más antiguos Más votados
Notificarme las
Anónimo
Invitado
Anónimo

Audio

jose
Invitado
jose

ola cesar mira tengo un escrippy pero no entiendo mucho pero seria tan amable de mirarlo y editarlo para k funcione