Inhaltsverzeichnis
En este ejemplo, tanto la función externa() como la interna() modifican la variable del título. capaz. Sin embargo, no son la misma variable de título y mientras esto sea lo que necesito entonces que está bien; ambas funciones tienen su propia versión de una variable local de título. Esto se puede ver en la salida donde la función externa mantiene su propio valor por titulo: Sin embargo, si lo que queremos es que la función inner() modifique la función outside() variable de título de la función, entonces tenemos un problema. Este problema se puede resolver usando la palabra clave nonlocal. Esto indica que un La variable no es global pero tampoco es local para la función actual y Python debería mire dentro del ámbito en el que se define la función para financiar una variable local con el mismo nombre: Si ahora declaramos el título como no local en la función inner(), entonces será use la versión de título de funciones externas () (se compartirá entre ellos) y por lo tanto, cuando la función interior () cambia el título, lo cambiará para ambos funciones: El resultado de ejecutar esto es 12.5 Sugerencias Puntos a tener en cuenta sobre el alcance y la duración de las variables
- El alcance de una variable es la parte de un programa donde se conoce la variable. Los parámetros y variables definidos dentro de una función no son visibles desde el exterior. Por lo tanto, tienen un alcance local.
- La vida útil de una variable es el período durante el cual la variable sale en el memoria de su programa Python. El tiempo de vida de las variables dentro de una función es mientras la función se ejecute. Estas variables locales se destruyen tan pronto como la función regresa o termina. Esto significa que la función no almacena los valores en una variable de una invocación a otra. def exterior(): título = ’título original' def interior(): título no local título = ‘otro título’ imprimir(‘interior:’, titulo) interno() imprimir(’exterior:’, titulo) exterior() interior: otro título exterior: otro título interior: otro título exterior: título original 12.4 Variables no locales 137
popular post
Temas de Pregrado en Ciencias de la Computación Guía avanzada a Python 3 Programación Juan caza
WeiterlesenTemas de Pregrado en Ciencias de la Computación Guía avanzada a Python 3 Programación Juan caza
Weiterlesen• https://docs.python.org/3/ El sitio principal de documentación de Python 3. Contiene tutoriales, referencias de bibliotecas, guías de configuración e instalación, así como Python cómo-tos • https://docs.
Weiterlesen