当我追踪函数时,在函数内部我想在开头用下划线打印那些变量名的值,例如。 p __seqLen
。它一直显示AttributeError: AttributeError("Converter instance has no attribute '__seqLen'",)
我也尝试使用p self.__seqLen
。这也行不通。如何打印这些值?
答案 0 :(得分:11)
p locals()
p globals()
可以提供帮助。
答案 1 :(得分:7)
您可能会遇到Python's private name mangling。 Python将破坏以两个或多个下划线开头的标识符,并且不以两个或多个下划线结尾。它会将__somename
转换为_Class__somename
。