Python 在print语句中显示字典

Python 在print语句中显示字典,python,python-3.x,dictionary,Python,Python 3.x,Dictionary,有没有一种方法可以打印词典的内容而不必反复阅读词典?在javascript中,您可以使用console.log查看对象的内容。python中有类似的东西吗 我尝试了打印语句以及object.keys和object.values。但是,我希望通过print语句查看整个词典 print(dictionary) 我希望使用{a:1}而不是0x7efd79610278处的对象我认为变量字典不是您所认为的那样。 下面是Python3 REPL Read中的一个小示例。估计打印循环,显示打印具有预期行为的

有没有一种方法可以打印词典的内容而不必反复阅读词典?在javascript中,您可以使用console.log查看对象的内容。python中有类似的东西吗

我尝试了打印语句以及object.keys和object.values。但是,我希望通过print语句查看整个词典

print(dictionary)

我希望使用{a:1}而不是0x7efd79610278处的对象

我认为变量字典不是您所认为的那样。 下面是Python3 REPL Read中的一个小示例。估计打印循环,显示打印具有预期行为的词典

$ python3
Python 3.7.3 (default, Apr  3 2019, 05:39:12) 
[GCC 8.3.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> a = {}
>>> a[0] = '0'
>>> a
{0: '0'}
>>> print(a)
{0: '0'}
要回答您的问题,默认的_ustr _;方法(发音为dunder str)应该足够了。但是,如果不是这样,您可以执行以下操作并提供自己的实现

>>> import json
>>> class MyDict(dict):
...     def __str__(self):
...             return json.dumps(self)
... 
>>> d = MyDict()
>>> d['key'] = 'value'
>>> print(d)
{"key": "value"}

可能重复:什么是对象的可能重复?什么版本的Python?请提供更多关于如何创建此对象的上下文。为添加更多代码。您的词典不是dict。您是如何创建它的?