我在cdef类(Cython语言)中有以下代码:
def toString(self):
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].n3)
return res
当我尝试编译包含此代码的cython文件时,我收到以下语法错误: "预期标识符或文字"指向第一个' +'在字符串连接中。
我试图使用' \'而不是' +'没有成功.. 在Pyhton / Cython中连接字符串的正确方法是什么? 谢谢!
答案 0 :(得分:1)
你错过了行继续运算符\
:
def toString(self):
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].n3)
return res
......但你真的不应该这样做。它被认为是不好的风格。
探索字符串的.format
方法的用法;它将为该字符串提供位置参数,因此您不必连接。
def toString(self):
return "lut={} n1={} nlay={} n3={}".format(
str(self._mm_np[0].lut),
str(self._mm_np[0].n1),
str(self._mm_np[0].nlay),
str(self._mm_np[0].n3))