मुझे स्ट्रिंग प्रस्तुतियों के साथ एक समस्या है। मैं अपनी वस्तु को मुद्रित करने की कोशिश कर रहा हूं और मुझे कभी-कभी आउटपुट में सिंगल कोट्स मिलते हैं। कृपया मुझे यह समझने में सहायता करें कि ऐसा क्यों होता है और मैं उद्धरण के बिना वस्तु को कैसे मुद्रित कर सकता हूं।क्यों कुछ पायथन स्ट्रिंग उद्धरण के साथ मुद्रित हैं और कुछ उद्धरण के बिना मुद्रित हैं?
यहाँ मेरी कोड है:
(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