Вы находитесь на странице: 1из 1

La palabra reservada defse usa para definir funciones.

Debe seguirle el nombre de la funcin y la lista


de parmetros
formales entre parntesis. Las sentencias que forman el cuerpo de la funcin empiezan en la lnea
siguiente, y deben estar
con sangra.
La primer sentencia del cuerpo de la funcin puede ser opcionalmente una cadena de texto literal; esta es
la cadena de
texto de documentacin de la funcin, o docstring. (Pods encontrar ms acerca de docstrings en la
seccin Cadenas de
texto de documentacin.)
Hay herramientas que usan las docstrings para producir automticamente documentacin en lnea o
imprimible, o para
permitirle al usuario que navegue el cdigo en forma interactiva; es una buena prctica incluir docstrings
en el cdigo que
uno escribe, por lo que se debe hacer un hbito de esto.
La ejecucin de una funcin introduce una nueva tabla de smbolos usada para las variables locales de la
funcin. Ms
precisamente, todas las asignaciones de variables en la funcin almacenan el valor en la tabla de
smbolos local; as mismo
la referencia a variables primero mira la tabla de smbolos local, luego en la tabla de smbolos local de las
funciones
externas, luego la tabla de smbolos global, y finalmente la tabla de nombres predefinidos. As, no se les
puede asignar
directamente un valor a las variables globales dentro de una funcin (a menos se las nombre en la
sentencia global),
aunque si pueden ser referenciadas.
Los parmetros reales (argumentos) de una funcin se introducen en la tabla de smbolos local de la
funcin llamada
cuando esta es ejecutada; as, los argumentos son pasados por valor (dnde el valor es siempre una
referencia a un objeto,
no el valor del objeto). 4 Cuando una funcin llama a otra funcin, una nueva tabla de smbolos local es
creada para esa
llamada.
La definicin de una funcin introduce el nombre de la funcin en la tabla de smbolos actual. El valor del
nombre de la
funcin tiene un tipo que es reconocido por el interprete como una funcin definida por el usuario. Este
valor puede ser
asignado a otro nombre que luego puede ser usado como una funcin. Esto sirve como un mecanismo
general para
renombrar:
19

Вам также может понравиться