【问题标题】:Override built-in classes, in particular, dictionary class覆盖内置类,特别是字典类
【发布时间】:2012-02-28 17:16:14
【问题描述】:

我从来没有真正喜欢字典类转换为字符串的方式,所以我编写了一个子类,它覆盖了__repr__ 方法(这个方法使用制表符来表示字典中的嵌套级别,主要是因为我有一些字典可能非常大,最后是myDic['a']['b']['c']['d'] = someObject)。

它工作正常,但它不允许我使用{} 语法来制作我的字典。

是否可以覆盖 dict 类,以便我可以使用 {} 语法来制作我自己的自定义词典?

我正在使用 python 2.6/2.7。

【问题讨论】:

标签: python python-2.7 dictionary overriding built-in-types


【解决方案1】:

您不能覆盖{} 语法。您必须使用类名显式构造变量。

如果您只是想让它打印得更好,使用pprint.pprint 就足够了吗?

【讨论】:

  • 现在只是在玩 pprint,看起来很有希望。我认为我所拥有的基本上是 pprint(myDict, width=1)
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-01-04
  • 1970-01-01
  • 1970-01-01
  • 2013-02-21
  • 2018-04-18
  • 2015-04-03
相关资源
最近更新 更多