Cómo comprobar si existe una variable en Python

Hoy veremos cómo comprobar si una variable existe o no. En Python, una variable se puede definir global o localmente.

Si una variable se define dentro de una función, entonces tiene un alcance local. De lo contrario (definido fuera de cualquier función), tiene un alcance global. Veamos cómo comprobar su existencia uno por uno.

 



Existencia de una variable local

Usaremos el lugareños() método para ver si una variable existe localmente. los lugareños() El método devuelve un diccionario de las variables locales del ámbito actual. Tomemos un ejemplo.

 

summ=4
def test(c):
  a = 3
  b = 4
  result = a + b + c
  if 'result' in locals():
    print("The result variable exists in the local scope. Value is:", result)
  else:
    print("Sorry, the variable does not exist in the local scope.")
  
  if 'summ' in locals():
    print("The summ variable exists in the local scope. Value is:", summ)
  else:
    print("Sorry, the variable does not exist in the local scope.")
  
test(4)

 

The result variable exists in the local scope. Value is: 11
Sorry, the variable does not exist in the local scope.

 

En el ejemplo anterior, creamos un prueba() función. Calcula la suma de tres valores y la almacena en el resultado variable.

Luego, comprueba si resultado existe en el ámbito local o no. Como lo hace, la condición se evalúa como Verdadero y se ejecuta la declaración en el bloque if.

los suma la variable, por otro lado, no es local. Por lo tanto, su condición if se evalúa como Falso .

 

Existencia de una variable global

Para verificar si existe una variable global, usaremos el globales() método. Devuelve un diccionario que contiene las variables globales del ámbito actual. Tomemos un ejemplo.

 

summ=4
def test(c):
  a = 3
  b = 4
  result = a + b + c
  if 'result' in globals():
    print("The result variable exists in the local scope. Value is:", result)
  else:
    print("Sorry, the variable does not exist in the local scope.")
  
  if 'summ' in globals():
    print("The summ variable exists in the local scope. Value is:", summ)
  else:
    print("Sorry, the variable does not exist in the local scope.")
  
test(4)

 

Producción

 

Sorry, the variable does not exist in the local scope.
The summ variable exists in the local scope. Value is: 4

 

Este es el mismo ejemplo que el anterior, excepto que verificamos el alcance global. Ya que suma es una variable global, su valor se muestra y resultado es una variable local, su condición se evalúa como Falso .