Python中利用name()函数获取当前作用域的名称
发布时间:2023-12-30 13:36:54
在Python中,可以使用globals()和locals()函数来获取当前作用域的名称。这两个函数返回一个字典,其中包含了当前作用域中的所有变量和函数的名称和对应的值。
globals()函数返回全局作用域中的变量和函数的名称和对应的值。下面是一个使用globals()函数的例子:
def example_function():
global_var = 'Hello, global!'
print(globals())
example_function()
输出:
{'__name__': '__main__', '__doc__': None, '__package__': None, '__loader__': <_frozen_importlib_external.SourceFileLoader object at 0x7f5e85a248b0>, '__spec__': None, '__annotations__': {}, '__builtins__': <module 'builtins' (built-in)>, '__file__': 'main.py', '__cached__': None, 'example_function': <function example_function at 0x7f5e8abf1d30>, 'global_var': 'Hello, global!'}
在这个例子中,我们在example_function()函数中定义了一个global_var变量,并使用print(globals())语句将所有全局变量和函数的名称和对应的值打印出来。其中,'__name__': '__main__'表示当前的模块名称是'__main__','global_var': 'Hello, global!'表示全局变量global_var的值为'Hello, global!'。
locals()函数返回当前作用域中的变量和函数的名称和对应的值。下面是一个使用locals()函数的例子:
def example_function():
local_var = 'Hello, local!'
print(locals())
example_function()
输出:
{'local_var': 'Hello, local!'}
在这个例子中,我们在example_function()函数中定义了一个local_var变量,并使用print(locals())语句将当前作用域中的变量和函数的名称和对应的值打印出来。其中,'local_var': 'Hello, local!'表示局部变量local_var的值为'Hello, local!'。
需要注意的是,locals()函数只能在函数内部使用,而在全局作用域中使用会返回与globals()函数相同的结果。而在函数内部使用globals()函数将返回全局作用域中的变量和函数的名称和对应的值。
