An odd choice to make self.content a list, when it could work easily as a string (then in the append() method you can use concatenation or formatting instead of calling self.content.append(string) ).