Funciones de Programacion
Funciones de Programacion
Funciones como print(), input() y len() ya vienen incorporadas con el lenguaje Python. Una
función es como un mini-programa dentro de un programa.
Para que se entienda fácilmente crearemos una función desde cero en Python:
def hola():
print('Hola!')
print('Hola!!!')
print('Hola mundo!')
La primera línea de una función comienza con la palabra reservada def, seguido del nombre de
nuestra función, paréntesis, dos puntos y una nueva línea con indentación de 4 líneas que
delimita el comienzo del bloque de código de la función.
Una vez definida nuestra función podemos utilizarla igual que como venimos haciendo con las
otras funciones.
hola()
hola()
hola()
Como en este programa llamamos al a función 3 veces, se ejecutará nuestra función 3 veces.
def hola(nombre):
print('Hola ' + nombre)
hola(‘Juan’)
Un detalle a tener en cuenta es que, al igual que cuando termina o cerramos un programa,
cuando una función termina los valores de sus parámetros se pierden.
Cuando creamos una función podemos definir cuál será el valor de retorno utilizando la
palabra reservada return.
import random
def divinacion(numRespuesta):
if numRespuesta == 1:
return 'Probablemente'
elif numRespuesta == 2:
return 'Tal vez'
elif numRespuesta == 3:
return 'Si'
elif numRespuesta == 4:
return 'Pregunta de nuevo más tarde'
elif numRespuesta == 5:
return 'No entendí la pregunta'
elif numRespuesta == 6:
return 'No'
elif numRespuesta == 7:
return 'Lo dudo mucho'
r = random.randint(1, 7)
fortuna = divinacion(r)
print(fortuna)
def spam():
huevos = 31337
spam()
print(huevos)
Otros ámbitos Locales no pueden utilizar Variables Locales en otros ámbitos Locales. Ejemplo:
def spam():
huevos = 99
cerdo()
print(huevos)
def cerdo():
jamon = 101
huevos = 0
spam()
Variables Globales
Las variables que utilizamos fuera de las funciones se conocen como Variables Globales. En el
caso de necesitar cambiar una variable global, utilizando una función, podremos escribir global
seguido de la variable global que vayamos a utilizar en la función.
def spam():
global huevos
huevos = 'spam'
huevos = 'global'
spam()
print(huevos)
def spam(dividirPor):
try:
return 42 / dividirPor
except ZeroDivisionError:
print('Error: Invalid argument.')
print(spam(2))
print(spam(0))