dvi*_*vim 30 python printing string list object
那么这个交互式python控制台代码片段将告诉所有内容:
>>> class Test:
... def __str__(self):
... return 'asd'
...
>>> t = Test()
>>> print(t)
asd
>>> l = [Test(), Test(), Test()]
>>> print(l)
[__main__.Test instance at 0x00CBC1E8, __main__.Test instance at 0x00CBC260,
__main__.Test instance at 0x00CBC238]
Run Code Online (Sandbox Code Playgroud)
基本上我想asd在打印列表时打印三个字符串.我也试过,pprint但它给出了相同的结果.
gru*_*czy 41
尝试:
class Test:
def __repr__(self):
return 'asd'
Run Code Online (Sandbox Code Playgroud)
并阅读此文档链接:
其他实施答案中的建议__repr__绝对是一种可能性.如果由于某种原因(现有类型,__repr__除了审美之外的其他原因需要)那是不可行的,那么就这样做
print [str(x) for x in l]
Run Code Online (Sandbox Code Playgroud)
或者,正如一些人肯定建议的那样map(str, l)(只是更紧凑).