python - 如何获取python中函数内部定义的所有局部变量?

标签 python function local-variables

有没有办法打印所有局部变量而不显式打印它们?

def some_function(a,b):
    name='mike'
    city='new york'

    #here print all the local variables inside this function?

最佳答案

那就是locals()内置函数

Python 3.9.0 (tags/v3.9.0:9cf6752, Oct  5 2020, 15:34:40) [MSC v.1927 64 bit (AMD64)] on win32
Type "help", "copyright", "credits" or "license" for more information.
>>> locals()
{'__name__': '__main__', '__doc__': None, '__package__': None, '__loader__': <class '_frozen_importlib.BuiltinImporter'>, '__spec__': None, '__annotations__': {}, '__builtins__': <module 'builtins' (built-in)>}
>>> x = 5
>>> locals()
{'__name__': '__main__', '__doc__': None, '__package__': None, '__loader__': <class '_frozen_importlib.BuiltinImporter'>, '__spec__': None, '__annotations__': {}, '__builtins__': <module 'builtins' (built-in)>, 'x': 5}

您可以使用列表理解过滤掉内置函数:

>>> [_ for _ in locals() if not (_.startswith('__') and _.endswith('__'))]
['x']

关于python - 如何获取python中函数内部定义的所有局部变量?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65364296/

相关文章:

python - 已注册的 atexit 处理程序是否由派生的子进程继承?

python - 对流水线中的同一个估计器使用不同的特征

javascript - 更改绑定(bind)函数参数

java - 参数范围与局部变量范围?

javascript:从局部变量修改全局变量

python - 当我运行 Flask 时,它显示错误 : ModuleNotFoundError: No module named 'werkzeug.contrib' . 谁能帮我解决这个问题?

python - 从特定目录中的 python 脚本运行 bash 命令

Python + pyQT - 将参数发送到连接的 Signal 函数

无法获得计算数字正确阶乘的程序

python - 通过查看某些字符并判断在何处分隔来尝试分隔行