En este artículo, vamos a discutir cómo ver todas las variables definidas en Python. La visualización de todas las variables definidas juega un papel importante al depurar el código.
Método 1: Usar la función dir()
dir() es una función integrada para almacenar todas las variables dentro de un programa junto con las funciones y métodos de variables integradas. Crea una lista de todas las variables declaradas e integradas. Hay dos formas diferentes de ver todas las variables definidas usando dir(). Se discuten a continuación.
Cuando ninguna variable definida por el usuario comienza con ‘__’:
- Defina algunas variables de varios tipos que no comiencen con ‘__’
- Llame a dir y guárdelo en una variable. Almacena todos los nombres de variables definidos antes en forma de lista y almacena los nombres de variables como una string.
- Iterar sobre toda la lista donde se almacena dir().
- Imprime el elemento si no comienza con ‘__’
Ejemplo:
Python3
# Define some variables of various types # that are not starting with '__' var2 = "Welcome to geeksforgeeks" var3 = {"1": "a", "2": "b"} var4 = 25 var5 = [1, 2, 3, 4, 5] var6 = (58, 59) # call dir and store it in a variable. # It stores all the variable names defined # before in the form of a list # and stores the variable names as a string. all_variables = dir() # Iterate over the whole list where dir( ) # is stored. for name in all_variables: # Print the item if it doesn't start with '__' if not name.startswith('__'): myvalue = eval(name) print(name, "is", type(myvalue), "and is equal to ", myvalue)
Producción:
var2 es <clase ‘str’> y es igual a Bienvenido a geeksforgeeks
var3 es <clase ‘dict’> y es igual a {‘1’: ‘a’, ‘2’: ‘b’}
var4 es <clase ‘int’> y es igual a 25
var5 es <clase ‘lista’> y es igual a [1, 2, 3, 4, 5]
var6 es <clase ‘tupla’> y es igual a (58, 59)
Almacenar las variables integradas e ignorarlas
- Cree una nueva variable y almacene todas las funciones integradas dentro de ella usando dir().
- Definir algunas variables de varios tipos.
- Vuelva a llamar a dir y guárdelo en una lista restando las variables integradas almacenadas previamente.
- Iterar sobre toda la lista.
- Imprimir los elementos deseados
Ejemplo:
Python3
# Create a new variable and store all # built-in functions within it using dir( ). not_my_data = set(dir()) # Define some variables of various types. var2 = "Welcome to geeksforgeeks" var3 = {"1": "a", "2": "b"} var4 = 25 var5 = [1, 2, 3, 4, 5] var6 = (58, 59) # Again call dir and store it in a list # subtracting the built-in variables stored # previously. my_data = set(dir()) - not_my_data # Iterate over the whole list is stored. for name in my_data: # Exclude the un-necessary variable named not_my_data if name != "not_my_data": val = eval(name) print(name, "is", type(val), "and is equal to ", val)
Producción:
var2 es <clase ‘str’> y es igual a Bienvenido a geeksforgeeks
var3 es <clase ‘dict’> y es igual a {‘1’: ‘a’, ‘2’: ‘b’}
var6 es <clase ‘tupla’> y es igual a (58, 59)
var4 es <clase ‘int’> y es igual a 25
var5 es <clase ‘lista’> y es igual a [1, 2, 3, 4, 5]
Método 2: para imprimir variables locales y globales
Locals() es una función integrada que devuelve una lista de todas las variables locales en ese ámbito particular. Y globals() hace lo mismo con las variables globales.
Acercarse
- Cree una lista de todas las variables globales utilizando la función globals() para almacenar las variables globales integradas.
- Declarar algunas variables globales
- Declarar una función.
- Declare algunas variables locales dentro de él.
- Almacene todas las variables locales en una lista, usando la palabra clave locales.
- Iterar sobre la lista e imprimir las variables locales.
- Almacene las variables globales en una lista usando la palabra clave globals y reste la lista creada previamente de variables globales integradas.
- Imprímelos.
- Llame a la función.
Ejemplo:
Python3
# Create a list of all global variables using # globals( ) function, To store the built-in # global variables. not_my_data = set(globals()) # Declare some global variables foo5 = "hii" foo6 = 7 # Declare a function. def func(): # Declare some local variables inside it. var2 = "Welcome to geeksforgeeks" var3 = {"1": "a", "2": "b"} var4 = 25 var5 = [1, 2, 3, 4, 5] var6 = (58, 59) # Store all the local variables in a list, # using locals keyword. locals_stored = set(locals()) # Iterate over the list and print the local # variables. print("Printing Local Variables") for name in locals_stored: val = eval(name) print(name, "is", type(val), "and is equal to ", val) # Store the global variables in a list using # globals keyword and subtract the previously # created list of built-in global variables from it. globals_stored = set(globals())-not_my_data # Print the global variables print("\nPrinting Global Variables") for name in globals_stored: # Excluding func and not_my_data as they are # also considered as a global variable if name != "not_my_data" and name != "func": val = eval(name) print(name, "is", type(val), "and is equal to ", val) # Call the function. func()
Producción:
Impresión de variables locales
var2 es <clase ‘str’> y es igual a Bienvenido a geeksforgeeks
var6 es <clase ‘tupla’> y es igual a (58, 59)
var4 es <clase ‘int’> y es igual a 25
var5 es <clase ‘lista’> y es igual a [1, 2, 3, 4, 5]
var3 es <clase ‘dict’> y es igual a {‘1’: ‘a’, ‘2’: ‘b’}
Impresión de variables globales
foo6 es <clase ‘int’> y es igual a 7
foo5 es <clase ‘str’> y es igual a hii
Publicación traducida automáticamente
Artículo escrito por akashkumarsen4 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA