我有一个字符串表示的问题。我想打印出我的对象,但有时输出中会出现单引号。请帮助我理解为什么会出现这种情况,以及如何在不使用引号的情况下打印出对象。
这是我的代码:
class Tree:
def __init__(self, value, *children):
self.value = value
self.children = list(children)
self.marker = ""
def __repr__(self):
if len(self.children) == 0:
return '%s' %self.value
else:
childrenStr = ' '.join(map(repr, self.children))
return '(%s %s)' % (self.value, childrenStr)
以下是我的工作内容:
from Tree import Tree
t = Tree('X', Tree('Y','y'), Tree('Z', 'z'))
print t
这是我得到的内容:
(X (Y 'y') (Z 'z'))
以下是我想获得的内容:
(X (Y y) (Z z))
为什么终端节点的值周围会出现引号,而非终端节点的值周围则没有?