在pdb中打印值

6 投票
2 回答
10167 浏览
提问于 2025-04-16 17:25

当我追踪到一个函数时,我想在这个函数里面打印那些以“__”开头的变量的值,比如 p __seqLen。可是它总是显示 AttributeError: AttributeError("Converter instance has no attribute '__seqLen'",)。我也试着用 p self.__seqLen,但这也不行。我该怎么打印这些值呢?

2 个回答

7

你可能遇到了Python的私有名称改名规则。在Python中,如果一个名字是以两个或更多的下划线开头,并且不以两个或更多的下划线结尾,Python会对这个名字进行改名。比如说,它会把__somename改成_Class__somename

11
p locals()
p globals()

可能会有帮助。

撰写回答