当前位置: 首页 > 面试题库 >

是否有内置功能可以打印对象的所有当前属性和值?

毋宏茂
2023-03-14
问题内容

所以我在这里寻找的是类似PHP的print_r函数。

这样一来,我可以通过查看问题对象的状态来调试脚本。


问题答案:

您实际上是将两种不同的东西混合在一起。

使用dir()vars()inspect模块来得到你所感兴趣的是(我用__builtins__作为一个例子,你可以使用任何对象,而不是)。

>>> l = dir(__builtins__)
>>> d = __builtins__.__dict__

随心所欲地打印该词典:

>>> print l
['ArithmeticError', 'AssertionError', 'AttributeError',...

要么

>>> from pprint import pprint
>>> pprint(l)
['ArithmeticError',
 'AssertionError',
 'AttributeError',
 'BaseException',
 'DeprecationWarning',
...

>>> pprint(d, indent=2)
{ 'ArithmeticError': <type 'exceptions.ArithmeticError'>,
  'AssertionError': <type 'exceptions.AssertionError'>,
  'AttributeError': <type 'exceptions.AttributeError'>,
...
  '_': [ 'ArithmeticError',
         'AssertionError',
         'AttributeError',
         'BaseException',
         'DeprecationWarning',
...

交互式调试器中还可以作为命令提供漂亮的打印:

(Pdb) pp vars()
{'__builtins__': {'ArithmeticError': <type 'exceptions.ArithmeticError'>,
                  'AssertionError': <type 'exceptions.AssertionError'>,
                  'AttributeError': <type 'exceptions.AttributeError'>,
                  'BaseException': <type 'exceptions.BaseException'>,
                  'BufferError': <type 'exceptions.BufferError'>,
                  ...
                  'zip': <built-in function zip>},
 '__file__': 'pass.py',
 '__name__': '__main__'}


 类似资料:
  • 问题内容: 所以我在这里寻找的是类似PHP的print_r函数。 这样一来,我可以通过查看问题对象的状态来调试脚本。 问题答案: 你要与:

  • 本文向大家介绍python 打印对象的所有属性值的方法,包括了python 打印对象的所有属性值的方法的使用技巧和注意事项,需要的朋友参考一下 如下所示: 以上这篇python 打印对象的所有属性值的方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持呐喊教程。

  • 问题内容: 如问题标题所述,是否存在通过 对象 属性循环的小胡子/把手方式? 所以用 然后我可以 在模板引擎 中做一些等效于 ? 问题答案: 自车把1.0rc1起的内置支持 此功能的支持已添加到Handlebars.js,因此不再需要外部帮助器。 如何使用它 对于数组: 对于对象: 请注意,将仅枚举通过测试的属性。

  • 问题描述 如下图所示,我分别打印了ObjectFood和ObjectFood[1001] 但是输出结果如下图所示 后续尝试了 这两种方法均是undefined,求各位帮忙解惑

  • 问题内容: 注意:此问题仅供参考。我很想知道这样做有多深入到Python内部。 不久前,在某个问题的内部开始了一个讨论,该问题涉及传递给print语句的字符串是否可以在调用to之后/期间进行修改。例如,考虑以下功能: 现在,当运行时,到终端的输出应显示: 请注意,单词“ cat”已被单词“ dog”代替。某处某种方式能够修改这些内部缓冲区以更改打印的内容。假设这是在没有原始代码作者明确许可的情况下

  • 问题内容: 我有一个动物类,具有几个属性,例如: 我现在想将所有这些属性打印到文本文件中。我现在做的丑陋方式是: 有没有更好的Pythonic方式可以做到这一点? 问题答案: 在这种简单情况下,您可以使用: 如果要将Python对象存储在磁盘上,则应查看一下货架- Python对象持久性 。