gaogaotiantian / objprint

A library that can print Python objects in human readable format
Apache License 2.0
510 stars 43 forks source link

希望优化生成器的输出 #74

Closed chuanzz closed 2 years ago

chuanzz commented 2 years ago

如题 理想的是打印list化之后的结果,方便debug

gaogaotiantian commented 2 years ago

这是不可能的。

  1. generator本身可能产生无限的数据,并不是都可以list化的。
  2. 如果调用generator,可能会产生不可控制的side effect,对于一个print函数来说,这是不可接受的。
  3. generator本身是一次性的,print用完了它就没法再用了。

对于python这个非常灵活的语言来说,你需要的这个feature在理论上是不可能实现的(起码在我的认知里是不可能的)。如果你不认同我的看法,也欢迎讨论,我应该可以举出非常多有趣的例子。

chuanzz commented 2 years ago

看来我对生成器的理解还是不够,还一直奇怪为什么print不打印生成器的内容 感谢大佬的指正