Funciones en Python. Clase 9

Anuncio
Funciones en Python
Clase 9
Introducción a la Computación
Definición e Invocación
• La definición e invocación de una función, 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 función son locales
y solo existen y viven mientras dura la función.
• Todas las variables definidas fuera de las
funciones, son globales.
• Los parámetros formales, también son locales
a la función.
Variables Locales y Globales
• Obtenemos un error al intentar acceder a la
variable a fuera de la función.
Variables Locales y Globales
• Las variables globales son aquellas definidas
fuera del ámbito de cualquier función y son
visibles para cualquier parte del programa o
función, salvo que su nombre sea ocultado
por otra variable dentro de una función, en
cuyo caso dentro de esa función vale la
variable local.
Cadena de
llamadas
• Una función puede
llamar a una
función que a su
vez puede llamar a
una función y así
sucesivamente….
¿Ad infinitum? No,
en algún momento
hay que comenzar
el camino de
regreso….
Cadena de
llamadas
Paso de Parámetros: es por referencia
1
2
Líneas 19,20 y 21 antes y despúes del scanf
3
Línea 16: después del scanf
4
5
Línea 23: después del return
Línea 24
Paso de Parámetros
6
7
Línea 28: después de la llamada
Línea 8: al llamar area_triangulo
8
9
Línea 4
Línea8: al volver de area triangulo
Paso de Parámetros
10
11
Línea 9: antes del return
Línea 28: asignando el valor de retorno a resultado
12
Estado Final de la Pila de Activación
Paso de parámetros
• En Python, a diferencia de C, el paso de
parámetros es por referencia… pero, ojo!!! La
asignación 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
Descargar