Manufactura industrial
Internet industrial de las cosas | Materiales industriales | Mantenimiento y reparación de equipos | Programación industrial |
home  MfgRobots >> Manufactura industrial >  >> Industrial programming >> python

Variables globales, locales y no locales de Python

Variables globales, locales y no locales de Python

En este tutorial, aprenderá sobre las variables globales de Python, las variables locales, las variables no locales y dónde usarlas.

Video:Variables locales y globales de Python

Variables globales

En Python, una variable declarada fuera de la función o en el ámbito global se conoce como variable global. Esto significa que se puede acceder a una variable global dentro o fuera de la función.

Veamos un ejemplo de cómo se crea una variable global en Python.

Ejemplo 1:crear una variable global

x = "global"

def foo():
    print("x inside:", x)


foo()
print("x outside:", x)

Salida

x inside: global
x outside: global

En el código anterior, creamos x como una variable global y definió un foo() para imprimir la variable global x . Finalmente, llamamos al foo() que imprimirá el valor de x .

¿Qué sucede si desea cambiar el valor de x? dentro de una función?

x = "global"

def foo():
    x = x * 2
    print(x)

foo()

Salida

UnboundLocalError: local variable 'x' referenced before assignment

La salida muestra un error porque Python trata x como una variable local y x tampoco está definido dentro de foo() .

Para que esto funcione, usamos el global palabra clave. Visite Python Global Keyword para obtener más información.


Variables locales

Una variable declarada dentro del cuerpo de la función o en el ámbito local se conoce como variable local.

Ejemplo 2:Acceso a variable local fuera del alcance

def foo():
    y = "local"


foo()
print(y)

Salida

NameError: name 'y' is not defined

La salida muestra un error porque estamos tratando de acceder a una variable local y en un ámbito global, mientras que la variable local solo funciona dentro de foo() o ámbito local.


Veamos un ejemplo de cómo se crea una variable local en Python.

Ejemplo 3:crear una variable local

Normalmente, declaramos una variable dentro de la función para crear una variable local.

def foo():
    y = "local"
    print(y)

foo()

Salida

local

Echemos un vistazo al problema anterior donde x era una variable global y queríamos modificar x dentro de foo() .


Variables globales y locales

Aquí, mostraremos cómo usar variables globales y variables locales en el mismo código.

Ejemplo 4:uso de variables globales y locales en el mismo código

x = "global "

def foo():
    global x
    y = "local"
    x = x * 2
    print(x)
    print(y)

foo()

Salida

global global 
local

En el código anterior, declaramos x como global y y como una variable local en el foo() . Luego, usamos el operador de multiplicación * para modificar la variable global x e imprimimos ambos x y y .

Después de llamar al foo() , el valor de x se convierte en global global porque usamos el x * 2 imprimir dos veces global . Después de eso, imprimimos el valor de la variable local y es decir, local .


Ejemplo 5:Variable global y variable local con el mismo nombre

x = 5

def foo():
    x = 10
    print("local x:", x)


foo()
print("global x:", x)

Salida

local x: 10
global x: 5

En el código anterior, usamos el mismo nombre x tanto para la variable global como para la variable local. Obtenemos un resultado diferente cuando imprimimos la misma variable porque la variable se declara en ambos ámbitos, es decir, el ámbito local dentro de foo() y alcance global fuera de foo() .

Cuando imprimimos la variable dentro de foo() genera local x: 10 . Esto se llama el alcance local de la variable.

De manera similar, cuando imprimimos la variable fuera del foo() , genera global x:5 . Esto se llama el alcance global de la variable.


Variables no locales

Las variables no locales se utilizan en funciones anidadas cuyo alcance local no está definido. Esto significa que la variable no puede estar ni en el ámbito local ni en el global.

Veamos un ejemplo de cómo se usa una variable no local en Python.

Usamos nonlocal palabras clave para crear variables no locales.

Ejemplo 6:Crear una variable no local

def outer():
    x = "local"

    def inner():
        nonlocal x
        x = "nonlocal"
        print("inner:", x)

    inner()
    print("outer:", x)


outer()

Salida

inner: nonlocal
outer: nonlocal

En el código anterior, hay un inner() anidado función. Usamos nonlocal palabras clave para crear una variable no local. El inner() la función está definida en el ámbito de otra función outer() .

Nota :Si cambiamos el valor de una variable no local, los cambios aparecen en la variable local.


python

  1. C Variables, constantes y literales
  2. Palabras clave e identificadores de Python
  3. Declaración, sangría y comentarios de Python
  4. Variables, constantes y literales de Python
  5. Conversión de tipos de Python y conversión de tipos
  6. Entrada, salida e importación de Python
  7. Palabra clave global de Python
  8. Números de Python, conversión de tipos y matemáticas
  9. Administración de archivos y directorios de Python
  10. Errores de Python y excepciones integradas
  11. type() y isinstance() en Python con ejemplos