Mig*_*dge 5 python debugging visual-studio-code
我正在尝试调试我正在 VS Code 中处理的一个相当复杂的 python 脚本,并且我意识到,如果我使用的类以有意义的方式表示,我的生活会容易得多。
目前,调试面板将我的对象表示为类似的东西<foo.Bar object at 0x000002C643F960A0>,但我更愿意通过覆盖它的某些功能来指定它们应该如何呈现。
我尝试过重写该__str__()函数但无济于事。遗憾的是我的谷歌搜索没有找到任何有用的东西。
任何想法表示赞赏!
如果这是转发,我们深表歉意 - 类似的问题无法正确滚动。
__repr__()这可以通过重写对象的方法来完成。
class Person(object):
def __init__(self, name: str, age: int) -> None:
self.name = name
self.age = age
def __repr__(self) -> str:
return f"Person({self.name=}, {self.age=})"
Run Code Online (Sandbox Code Playgroud)
该__repr__()方法由 VS Code 的调试器而不是该方法使用__str__(),因为__str__()它旨在面向用户的表示并__repr__()用于调试。