Python R2


¿Como armo una función en python?


No siempre nuestro programa es un programa tan corto como para que quepa todo prolijamente en un bloque de sentencias. También a veces queremos ejecutar un código varias veces. En otras palabras queremos funciones y procedimientos.

  • Una función: es una subrutina que al término de su ejecución devuelve un valor.
  • Un procedimiento: es una subrutina que no  retornar valor alguno al termino de su ejecución.

Las funciones y los procedimientos nos sirven para empezar a modular nuestro código.  Y también nos servirá para reutilizar nuestro código.

La verdad que en python no hay mayor diferencia entre la definición de un procedimiento y la de una función son iguales, ya que las dos se definen con la palabra reservada “def”.

Declaración de Funciones

Las funciones son declaradas, como ya dijimos, en primer lugar por la palabra reservada “def”. Luego el nombre de la función seguido de los parámetros, separados por comas, que recibirá dicha función, si esta no recibe parámetros irán los paréntesis vacíos. Por ultimo van los dos puntos.
El bloque contenido en la función debe terminar con un return. Ya que, para que sea función, esta tiene que devolver un valor.

La función no define el tipo del valor de retorno. Las funciones de Python no especifican el tipo de su valor de retorno.

Un ejemplo de una función sin parámetros seria este:

def fx():
print “hola soy la funcion fx”
return 1

Un ejemplo de una función con parámetros seria este:

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

Declaración de Procedimiento

Es exactamente igual que el de las funciones, pero sin el return al final de su bloque de código. De hecho los procedimientos al no agregarle return al final del bloque de código, los emulamos en python, con funciones que siempre devolverán None.

Un ejemplo de procedimiento sin parámetros es:

def pr():
      print “hola soy el procedimiento pr”

Un ejemplo de procedimiento con parámetros es:

def pr(a,b):
      print a+b

Parámetros con valores por defecto.

En python podremos darle a los parámetros un valor por defecto si es que el usuario de la función o procedimiento no pasa ese parámetro.

Esto se haría así:

def fx(a=0,b=0):
	return a+b

La salida de la función fx al invocarla es:

>>> fx(1)
1
>>> fx(1,2)
3
>>> fx(b=2)
2

Como vemos python también soporta el pasaje de parámetros por nombre.

La salida del procedimiento seria:

>>> pr(4,5)
a= 4
b= 5
>>> pr(4)
a= 4
b= 2
>>> pr(b=5)
a= 1
b= 5
>>> pr()
a= 1
b= 2

Un ejemplo integrador.

Un ejemplo de un programa que usa funciones y procedimientos es fx_pr.py donde intentaremos, por medio de lo que ya sabemos, resolver cuadráticas con raíces reales.

#!/usr/bin/python
# Nombre : fx_pr.py
import math

def determinante(a,b,c):
    return (b*b)-(4*a*c)

def cuadratica(a,b,c):
    det = determinante(a,b,c)
    if det < 0:
        print "tiene raices imaginarias"
    else:
        print "La rais 1 es " + str((b + math.sqrt(det))/(2*a))
        print "La rais 2 es " + str((b - math.sqrt(det))/(2*a))

cuadratica(3,9,6)

comentare este programita: la sentencia import importa la librería o math para luego usar su metodo sqrt. Luego hay una funcion que me calcula el determinante y un procedimiento que me calcula y me imprime en pantalla las raices

Deja un comentario