Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Python: Общие вопросы > помогите с ООП в Python


Автор: zluka 31.8.2007, 10:59
Начал изучение ООП в Питоне. Вот пишу простой класс, чтобы он вмещал в себе конструктор и один метод. А метод просто ставит в каждом елементе списка точку "." (в конце)
Код:
Код

class AddPoint:
    def __init__(self, intial_state):
        self._state = intial_state

    def add(self, array):
        for i in array:
            array.append(i + ".")
        return array


mas = ["hello", "alle", "malle"]     #вот наш список
obj = AddPoint()
print obj.add(mas)

Вывело:
Код

Traceback (most recent call last):
  File "F:\Program Files\Python25\Projects\point.py", line 12, in <module>
    obj = AddPoint()
TypeError: __init__() takes exactly 2 arguments (1 given)

Возможно я неправильно написал.
Сильно не ругайте за код. Я в ООП еще новичок. smile

Автор: Daevaorn 31.8.2007, 11:54
У тебя конструктор должен принимать один параметр, но ты его туда не передаешь. О чем интерпретатор тебе и сообщает. Он очень содержательно указал на это, будь внимательней и читай диагностику ошибки.

Автор: zluka 31.8.2007, 12:24
Уже все работает. Немного подправил. Код:
Код

class AddPoint:
    def __init__(self, intial_state):
        self._state = intial_state

    def add(self):
        lst = []
        for i in self._state:
            lst.append(i + ".")
        return lst

mas = ["123", "6344", "235"]
obj = AddPoint(mas)
print obj.add()

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)