【发布时间】:2013-01-20 00:39:24
【问题描述】:
我很好奇我应该如何实现一个对象的 repr 方法,该对象包含实现 repr 的其他对象。
例如(pythonish):
class Book():
def__repr__
return 'author ... isbn'
class Library():
def __repr__:
me ='['
for b in books:
me = me + b.repr()
me = me + ']'
return me
我必须直接调用 repr() 方法吗?我似乎不能只连接它并让它隐式转换为字符串。
【问题讨论】:
-
在python中没有自动转换为字符串的东西。您必须始终明确地在对象上使用
str或repr。顺便说一句,在你的情况下,我会这样做:return "[%s]" % ', '.join(repr(book) for book in books)而不是那 5 行。 -
谢谢。这回答了我关于隐式字符串转换的问题。