class TreeNode:
def __init__(self, data, left=None, right=None):
self.data = data
self.left = left
self.right = right
= TreeNode(15, left=None, right=None)
node15 = TreeNode(25, left=node15, right=None)
node25 = TreeNode(35, left=None, right=None) node35
1. Setup
2. locals()
: As a Dictionary
Local variables and their values as a dictionary
def some_fn(): #blog it
= node15
current_node = node25
root_node =777
x=x-1
y="a cool string"
z= {'a_1205': 1206,'b_x':x,
cooldict 'c_n25':node25,
'd_rn':root_node,
'e_n15':node15,
'f_n25l':node25.left,
'g_rnl':root_node.left,
'h_n35':node35}
print(f"[local-variables dict using locals():] \n\t",locals(),end="\n\n")
# local_keys_var_names = (locals().keys())
# print(f"[local-variable-names using 'locals().keys()']: \n\t{local_keys_var_names}",end="\n\n")
# local_variable_values = (locals().values())
# print(f"[local-variable-values using 'locals().values()']:")
# [print(f"\t{val}") for val in local_variable_values]
# print()
# local_variable_name_and_values = (locals().items())
# print(f"[local-variable-values using 'locals().items()']:")
# [print(f"\t{(k,v)}") for k,v in local_variable_name_and_values]
# print()
some_fn()
[local-variables dict using locals():]
{'current_node': <__main__.TreeNode object at 0x7f2b8553a980>, 'root_node': <__main__.TreeNode object at 0x7f2b85538940>, 'x': 777, 'y': 776, 'z': 'a cool string', 'cooldict': {'a_1205': 1206, 'b_x': 777, 'c_n25': <__main__.TreeNode object at 0x7f2b85538940>, 'd_rn': <__main__.TreeNode object at 0x7f2b85538940>, 'e_n15': <__main__.TreeNode object at 0x7f2b8553a980>, 'f_n25l': <__main__.TreeNode object at 0x7f2b8553a980>, 'g_rnl': <__main__.TreeNode object at 0x7f2b8553a980>, 'h_n35': <__main__.TreeNode object at 0x7f2b8553ab00>}}
3. locals().items()
: As A List
Outputs as dict_keys
, which is an iterable
, then convert variable_name-value pairs to list
def some_fn(): #blog it
= node15
current_node = node25
root_node =777
x=x-1
y="a cool string"
z= {'a_1205': 1206,'b_x':x,
cooldict 'c_n25':node25,
'd_rn':root_node,
'e_n15':node15,
'f_n25l':node25.left,
'g_rnl':root_node.left,
'h_n35':node35}
# print(f"[local-variables dict using locals():] \n\t",locals(),end="\n\n")
# local_keys_var_names = (locals().keys())
# print(f"[local-variable-names using 'locals().keys()']: \n\t{local_keys_var_names}",end="\n\n")
# local_variable_values = (locals().values())
# print(f"[local-variable-values using 'locals().values()']:")
# [print(f"\t{val}") for val in local_variable_values]
# print()
= (locals().items())
local_variable_name_and_values print(f"[local-variable-values using 'locals().items()']:")
print(f"\t{(k,v)}") for k,v in local_variable_name_and_values]
[print()
some_fn()
[local-variable-values using 'locals().items()']:
('current_node', <__main__.TreeNode object at 0x7f2b8553a980>)
('root_node', <__main__.TreeNode object at 0x7f2b85538940>)
('x', 777)
('y', 776)
('z', 'a cool string')
('cooldict', {'a_1205': 1206, 'b_x': 777, 'c_n25': <__main__.TreeNode object at 0x7f2b85538940>, 'd_rn': <__main__.TreeNode object at 0x7f2b85538940>, 'e_n15': <__main__.TreeNode object at 0x7f2b8553a980>, 'f_n25l': <__main__.TreeNode object at 0x7f2b8553a980>, 'g_rnl': <__main__.TreeNode object at 0x7f2b8553a980>, 'h_n35': <__main__.TreeNode object at 0x7f2b8553ab00>})
4. locals().keys()
: Variable Names Only
Outputs as dict_keys
, an iterable
, containing all names of local variables
def some_fn(): #blog it
= node15
current_node = node25
root_node =777
x=x-1
y="a cool string"
z= {'a_1205': 1206,'b_x':x,
cooldict 'c_n25':node25,
'd_rn':root_node,
'e_n15':node15,
'f_n25l':node25.left,
'g_rnl':root_node.left,
'h_n35':node35}
# print(f"[local-variables dict using locals():] \n\t",locals(),end="\n\n")
= (locals().keys())
local_keys_var_names print(f"[local-variable-names using 'locals().keys()']: \n\t{local_keys_var_names}",end="\n\n")
# local_variable_values = (locals().values())
# print(f"[local-variable-values using 'locals().values()']:")
# [print(f"\t{val}") for val in local_variable_values]
# print()
# local_variable_name_and_values = (locals().items())
# print(f"[local-variable-values using 'locals().items()']:")
# [print(f"\t{(k,v)}") for k,v in local_variable_name_and_values]
# print()
some_fn()
[local-variable-names using 'locals().keys()']:
dict_keys(['current_node', 'root_node', 'x', 'y', 'z', 'cooldict'])
5. locals().values()
: Variable Values Only
Outputs as dict_keys
, an iterable
, containing all values of local variables
def some_fn(): #blog it
= node15
current_node = node25
root_node =777
x=x-1
y="a cool string"
z= {'a_1205': 1206,'b_x':x,
cooldict 'c_n25':node25,
'd_rn':root_node,
'e_n15':node15,
'f_n25l':node25.left,
'g_rnl':root_node.left,
'h_n35':node35}
# print(f"[local-variables dict using locals():] \n\t",locals(),end="\n\n")
# local_keys_var_names = (locals().keys())
# print(f"[local-variable-names using 'locals().keys()']: \n\t{local_keys_var_names}",end="\n\n")
= (locals().values())
local_variable_values print(f"[local-variable-values using 'locals().values()']:")
print(f"\t{val}") for val in local_variable_values]
[print()
# local_variable_name_and_values = (locals().items())
# print(f"[local-variable-values using 'locals().items()']:")
# [print(f"\t{(k,v)}") for k,v in local_variable_name_and_values]
# print()
some_fn()
[local-variable-values using 'locals().values()']:
<__main__.TreeNode object at 0x7f2b8553a980>
<__main__.TreeNode object at 0x7f2b85538940>
777
776
a cool string
{'a_1205': 1206, 'b_x': 777, 'c_n25': <__main__.TreeNode object at 0x7f2b85538940>, 'd_rn': <__main__.TreeNode object at 0x7f2b85538940>, 'e_n15': <__main__.TreeNode object at 0x7f2b8553a980>, 'f_n25l': <__main__.TreeNode object at 0x7f2b8553a980>, 'g_rnl': <__main__.TreeNode object at 0x7f2b8553a980>, 'h_n35': <__main__.TreeNode object at 0x7f2b8553ab00>}