我在python中有一本字典,其内容在这个问题上并不重要。
重点是,当我这样做时:
print (dictionary)
我想将print的结果转换为String变量,例如:
my_string = (print(dictionary))
我知道上面的代码没有任何意义,但我只想展示我想要做的事情。
解决方案:str(字典)
答案 0 :(得分:2)
print(obj)
只需致电str(obj)
并将其写入sys.stdout
。
如果你想获得相同的字符串表示,那么你可以手动调用str
:
my_string = str(dictionary)
此外,str(obj)
只会调用obj.__str__()
,因此如果你这样做,你可以获得相同的行为:
my_string = dictionary.__str__()
有趣的一点:当您创建自己的类时,您实际上可以覆盖__str__
的默认实现,并定义您希望如何对实例进行字符串化/显示
答案 1 :(得分:1)
您可以将字典强制转换为str
对象,该对象将调用其__str__
方法:
>>> dictionary = {"foo": "bar"}
>>> my_string = str(dictionary)
>>> print(my_string)
'{"foo":"bar"}'
事实上,str
演员阵容在这里没用,因为print(dictionary)
也会调用dictionary.__str__
。