python - 如何动态打印函数调用中使用的参数?
问题描述
我有以下代码:
var1='aaa'
var2='bbb'
debug(var1, var2)
我debug
想要打印的功能:
"var1=aaa var2=bbb"
我的功能目前看起来像
def debug(thing1, thing2):
print(f"{thing1=} {thing2=}")
和输出:
"thing1=aaa thing2=bbb"
我也尝试locals()
在函数中使用,但得到了相同的输出。我想在输出中有“var1”和“var2”而不在打印语句中硬编码它们。
解决方案
你需要以稍微不同的方式来解决这个问题。如前所述,没有办法debug
知道变量名。
您需要提供该信息:
>>> import pprint
>>> var1 = 'aaa'
>>> var2 = 'bbb'
>>> def debug(**kwargs):
... pprint.pprint(kwargs, width=20)
...
>>> debug(var1=var1, var2=var2)
{'var1': 'aaa',
'var2': 'bbb'}
推荐阅读
- windows - 覆盖文件实际上会覆盖它吗?
- reactjs - Jenkins 在生产服务器上自动构建 Github 存储库
- python - Python - 打印输出时,和+之间的区别
- android - 将选项卡可见性设置为零崩溃应用程序“空引用”
- javascript - 如何将反应状态存储到本地存储中?
- android - 蓝牙东西的服务、线程和异步任务之间哪个是最好的?
- ios - SpriteKit 中的多个按钮
- php - 从具有多个值php的数组中过滤
- javascript - protege 是否支持 Node.js
- vb.net - 用户结束编辑新行时的DataGridView调用函数