Funciones en Python
Clase 9
Introduccin a la Computacin
Definicin e Invocacin
La definicin e invocacin de una funcin, es
como vimos en C.
Variables Locales y Globales
Al igual que en C, todas las variables definidas
(recuerden que en Python no es necesario
declararlas) dentro de una funcin son locales
y solo existen y viven mientras dura la funcin.
Todas las variables definidas fuera de las
funciones, son globales.
Los parmetros formales, tambin son locales
a la funcin.
Variables Locales y Globales
Obtenemos un error al intentar acceder a la
variable a fuera de la funcin.
Variables Locales y Globales
Las variables globales son aquellas definidas
fuera del mbito de cualquier funcin y son
visibles para cualquier parte del programa o
funcin, salvo que su nombre sea ocultado
por otra variable dentro de una funcin, en
cuyo caso dentro de esa funcin vale la
variable local.
Cadena de
llamadas
Una funcin puede
llamar a una
funcin que a su
vez puede llamar a
una funcin y as
sucesivamente.
Ad infinitum? No,
en algn momento
hay que comenzar
el camino de
regreso.
Cadena de
llamadas
Paso de Parmetros: es por referencia
1
Lneas 19,20 y 21 antes y despes del scanf
3
Lnea 16: despus del scanf
Lnea 23: despus del return
Lnea 24
Paso de Parmetros
6
Lnea 28: despus de la llamada
Lnea 8: al llamar area_triangulo
8
9
Lnea 4
Lnea8: al volver de area triangulo
Paso de Parmetros
10
11
Lnea 9: antes del return
Lnea 28: asignando el valor de retorno a resultado
12
Estado Final de la Pila de Activacin
Paso de parmetros
En Python, a diferencia de C, el paso de
parmetros es por referencia pero, ojo!!! La
asignacin crea una nueva variable en memoria!
Por lo tanto no modifica el argumento real.
def asd(ss):
ss = 5
print ss
ss = 3
asd(ss)
print ss