pdb中对args输出格式的调整
pdb中对args输出格式的调整
在pdb当中输出args
,其行为和程序正常运行期间的行为略有不同。
示例代码:
class MyClass:
def my_func(self, *args, **kwargs):
breakpoint()
print(f"args: {args}")
print(f"kwargs: {kwargs}")
if __name__ == "__main__":
my_class = MyClass()
my_class.my_func(1, 2, 3, a = 1, b = 2)
程序的输出:
PS D:\pyscript> python test.py
> d:\pyscript\test.py(4)my_func()
-> print(f"args: {args}")
(Pdb) args
self = <__main__.MyClass object at 0x000001DD072D0B60>
args = (1, 2, 3)
kwargs = {'a': 1, 'b': 2}
(Pdb) kwargs
{'a': 1, 'b': 2}
(Pdb) c
args: (1, 2, 3)
kwargs: {'a': 1, 'b': 2}
可以看到,正常输出的args
应该只是一个tuple,但是在pdb当中输出了函数传入的所有信息,而且是字典形式。
本文作者:Gold_stein
本文链接:https://www.cnblogs.com/smartljy/p/18635882
版权声明:本作品采用知识共享署名-非商业性使用-禁止演绎 2.5 中国大陆许可协议进行许可。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步