Muy bien, juguemos un pequeño juego, ¿puedes adivinar cuál será el resultado de este programa?
Tengo aquí es igual a uno.
Luego creamos una función llamada confusión donde tenemos un igual a cinco y devolvemos una mi pregunta es,
cuando imprimimos A y cuando imprimimos confusión, ¿qué esperas que suceda aquí?
Tómate un segundo para pensar en hacer una pausa si es necesario, y averigüémoslo.
Uno en cinco.
¿Es eso lo que esperabas?
Vayamos línea por línea.
Primero, asignamos el valor de uno a la variable A, luego creamos una función llamada confusión y el intérprete de Python dirá, está bien,
función de confusión, sé lo que es.
Lo voy a poner en memoria.
Cuando necesites usarme, házmelo saber.
Y luego va a ir a la línea ocho y la línea ocho va a decir, oye, imprime lo que es ...
Bueno, la única vez que he visto A es aquí mismo, a es igual a uno.
Entonces, recordando lo que digo es igual a uno.
Pero luego, cuando corro una confusión como esta.
Voy a decir, oye, A va a ser cinco y ahora volvemos, que son cinco.
OK, ¿y si cambio el orden de esto?
¿Y si voy así?
¿Lo que sucederá?
Si hago clic, corre.
¿Es eso lo que esperabas?
Una vez más, tenemos uno cercano, luego definimos la función y luego imprimimos confusión.
Ahora, la confusión aquí asignará un igual a cinco y luego devolverá A, pero ¿por qué no cambió esto?
¿Por qué A sigue siendo igual a uno cuando llegamos aquí?
Y esto se debe al alcance, ¿verdad?
Lo que hace el intérprete de Python es cuando ejecuta la función de confusión, va a decir, oye, A va
a ser igual a cinco, pero estoy creando una variable aquí llamada A en mi propio universo.
No sé nada sobre un igual aquí.
Tengo mi propio universo y después de ejecutar esta función, bueno, terminamos.
Hemos devuelto la función y se ha ido por completo.
Pero nunca dejamos el universo en el ámbito global.
Entonces, hay un conjunto de reglas por las que pasa el intérprete de Python para verificar una variable y las reglas son las
siguientes.
Primero, consultará con el local.
Así que comience con local y lo que llamamos es un alcance local.
Un ámbito local es un ámbito que forma parte de esta función local.
Entonces A es un ámbito local.
Va a comprobar allí.
Oye, ¿conozco la variable?
Bueno, sí.
Cuando devuelvo A, tengo una variable definida aquí, por lo que comienza allí.
Pero digamos que no estaba allí.
Digamos que elimino y hago clic en ejecutar aquí.
Obtengo ambos una vez, porque la segunda regla es que si no hay nada en la variable local o el alcance
local, entonces el número dos, ¿hay una escuela local principal?
En nuestro caso, ¿cuál es el padre de la disfunción?
Bueno, es el ámbito global, pero también podemos hacer otra función.
Digamos que el padre y el padre son los padres de la función de confusión.
Y aquí, digamos que a es igual a dos 10.
Ahora, aquí, regresaremos.
Confusión solo para que podamos usarlo nuevamente y ejecutarlo.
Así que llamemos a los padres.
Y haga clic en ejecutar.
Muy bien, repasemos esto para que no sea demasiado confuso.
Tenemos su función principal que se llama.
Entonces, cuando llamamos a eso, asignamos un igual a diez y luego también creamos una nueva función, confusión.
Y finalmente devolvemos la confusión y la ejecutamos.
Así que devolveremos A y luego imprimiremos aquí el valor de A, que es 10.
¿Y por qué es eso?
Bueno, porque primero comenzamos con el ámbito local.
Oye, esta confusión, ¿sabes qué es A?
No, no lo tengo en mi ámbito local, de acuerdo, ¿lo tiene mi ámbito local principal?
Entonces, va a subir un nivel y dirá, oye, ¿funcionan los padres hoy en día?
Sí, tengo cerca de 10.
Entonces va a imprimir que la tercera regla o el tercer orden es global.
Y global es lo que llamamos sangría de nada, es este archivo, correcto, lo que sea que tenga el archivo es global
en nuestro caso, si A es igual a diez no existe aquí, no hay local, no hay local
principal.
Y hago clic en ejecutar.
Comprueba el alcance global.
Y finalmente, hay otra regla, y esta es la número cuatro, y es complicada, y
esto es lo que llamamos construido en Python.
O funciones integradas de Python.
Entonces Python también viene con funciones predefinidas, algunas de las que hemos hablado antes.
A esto, digamos, solo dale cinco.
Lo vamos a comprobar o en realidad no le vamos a dar nada, hagamos un poco aquí.
Cuando ejecuto esto.
Tengo algunas funciones integradas.
Ahora bien, ¿cómo supo qué era esto, cuál era esta variable al final del día?
Bueno, porque decía, oye, ¿tengo algo dentro de este universo?
No, no lo creo.
De acuerdo, ¿tengo algunos en mi alcance principal?
No, no lo creo.
OK, ¿tengo una suma en global?
No, no hay nada aquí.
Y luego, lo último que va a verificar es, oye, es algún tipo de función de Python incorporada.
Sí.
Python en realidad nos da algunos para que puedas usarlo para que no se ventile.
Y estas son las reglas de alcance que el intérprete de Python cae muy, muy bien.
Todavía hay algunas cosas más que debemos aprender.
Así que te veré en el próximo video.