使用__str__方法返回矩形坐标

时间:2016-11-21 14:01:04

标签: python-3.x

我遇到的问题包括:

SyntaxError
invalid syntax (prog1.py, line 114)

当我尝试使用 str 方法返回已经编码的矩形的坐标,长度,宽度和颜色时,我遇到了这种错误。

def __str__ (self):
    return ("starting point:""("self.x,self.y")""\n""width:"self.w"\n""lenght:"self.h"\n""color("self.r,self.g,self.b")")

我应该去哪里

'starting point:(100,20)\nwidht:400\nlenght:120\ncolor(100,255,0)'

1 个答案:

答案 0 :(得分:2)

字符串(和其他类型)的串联不像Python中那样工作

你可以做starting_point:("+str(self.x)+","+str(self.y) ...但这会很麻烦。

您需要str.format{}个占位符和您的数据作为format方法的参数,如下所示:

return ("starting point:({},{})\nwidth:{}\nlength:{}\ncolor({},{},{})".format(self.x,self.y,self.w,self.h,self.r,self.g,self.b))