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: