python - Syntax error when concatenating a string in Cython -


मेरे पास cdef class (Cython language) के अंदर निम्नलिखित कोड है:

  def toString (स्वयं): res = "lut =" + str (self._mm_np [0] .lut) + "n1 =" + str (self._mm_np [0] .n1) + "nlay =" + str (self._mm_np) [0]। Nlay) + "n3 =" + str (self._mm_np [0]। एन 3) रिटर्न रिसेप  

जब मैं इस कोड वाले साइसन फाइल को संकलित करने का प्रयास करता हूं तो मुझे वाक्यविन्यास त्रुटि के बाद: "एक पहचानकर्ता या शाब्दिक की अपेक्षा" जो कि स्ट्रिंग संयोजन में पहली '+' के साथ स्थान पर इंगित करता है।

मैंने सफलतापूर्वक '+' के बजाय '\' का उपयोग करने की कोशिश की है Pyhton / Cython में स्ट्रिंग को जोड़ने का सही तरीका क्या है? आप लाइन निरंतरता ऑपरेटर \ :

/ P>
  def toString (स्व): res = "lut =" + str (self._mm_np [0] .lut) + \ "n1 =" + str (self._mm_np [0] .n1 ) + \ "Nlay =" + str (self._mm_np [0]। Nlay) + \ "n3 =" + str (self._mm_np [0]। एन 3) रिटर्न रिटर्न  

... लेकिन आपको वास्तव में ऐसा नहीं करना चाहिए। इसे खराब शैली माना जाता है।

इसके बजाय स्ट्रिंग के लिए .format विधि का उपयोग एक्सप्लोर करें; यह स्ट्रिंग के लिए स्थैतिक तर्क प्रदान करेगा ताकि आप है को जोड़कर न करें।

  def toString (स्व): वापसी "lut = {} n1 = {} Nlay = {} n3 = {} "। प्रारूप (str (self._mm_np [0] .lut), str (self._mm_np [0]। N1), str (self._mm_np [0]। Nlay), str ( Self._mm_np [0] .n3))