문자열 표현에 문제가 있습니다. 내 개체를 인쇄하려고 할 때 출력물에 작은 따옴표가 표시되기도합니다. 왜 그런 일이 발생하는지 그리고 인용 부호없이 객체를 어떻게 인쇄 할 수 있는지 이해하도록 도와주세요.왜 일부 파이썬 문자열은 따옴표로 인쇄되고 일부는 따옴표없이 인쇄됩니까?
다음(X (Y 'y') (Z 'z'))
내가 얻고 싶은 것입니다 :
여기from Tree import Tree
t = Tree('X', Tree('Y','y'), Tree('Z', 'z'))
print t
내가 무엇을 얻을 수 있습니다 :
여기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)
내가 할 것입니다 : 여기
내 코드입니다 :(X (Y y) (Z z))
왜 터미널 노드 값 주위에 따옴표가 있지만 터미널이 아닌 값 주위에는 따옴표가 표시되지 않습니까?
좋아요, 왜 repr (x) 따옴표로 문자열을 생성 설명을 발견 [여기] (http://stackoverflow.com/questions/7784148/understanding-repr-function-in-python) – Olga