Три вещи:
Во-первых, используйте параметр, передаваемый конструктору на самом деле , создайте экземпляр вашего объекта
class Character_list():
def __init__(self, lst):
self.lst = lst # use the parameter! And don't use 'list' as a variable name
# or even better, use a shallow copy:
self.lst = list(lst)
Во-вторых, циклы Python обычно для каждого петель.Это означает, что вы перебираете элементы, а не индексы.Таким образом,
for i in self.lst:
result += i
фактически добавит элементы списка (которые должны быть строками, в противном случае используйте: result += str(i)
) к result
.
В-третьих, версия toString
в Python - это__str__
и неявно вызывается при использовании встроенного str()
на объекте.Так, например,
def __str__(self):
return ''.join(map(str, self.lst))
будет делать то, что вы хотели, но в более общем смысле, например, когда вы звоните
print(x)