The locals()
method returns a dictionary with all the local variables and symbols for the current program.
Example
print(locals())
Output
{'In': ['', 'locals()'], 'Out': {}, '_': '', '__': '', '___': '', '__builtin__': , '__builtins__': , '__name__': '__main__', '_dh': ['/home/repl'], '_i': '', '_i1': 'locals()', '_ih': ['', 'locals()'], '_ii': '', '_iii': '', '_oh': {}, '_sh': , 'exit': , 'get_ipython': >, 'quit': }
locals() Syntax
The syntax of the locals()
method is:
locals()
locals() Parameters
The locals()
method doesn't take any parameters.
locals() Return Value
The locals()
method returns the dictionary of the current local symbol table.
Example 1: Python locals()
class local:
l = 50
# locals inside a class
print('\nlocals() value inside class\n', locals())
Output
locals() value inside class {'__module__': '__main__', '__qualname__': 'PLocal', 'l': 50}
Python compiler maintains a symbol table which contains the necessary information about the program being written. There are two types of symbol tables in Python - Local and Global.
A Local Symbol table stores all the information related to the program's local scope (within the class or a method). We can access this symbol table with the locals()
method.
Typically, python programmers use the locals()
method to restrict any variable and method inside the scope of a method or a class.
In the above example, we have a class named local
. Here, we have used the locals() method to return the variables and methods of this class.
Example 2: locals() to change values
def localsPresent():
present = True
print(present)
locals()['present'] = False;
print(present)
localsPresent()
Output
True True
In the above example, we have changed the value of the present
variable inside a function localsPresent
using the locals()
method.
Since locals()
returns a dictionary, we have used a method with a dictionary item i.e. the variable present and changed its value to False
.
Recommended Readings: