Найти - Пользователи
Полная версия: Не могу понять что не так работает. Помогите пожалуйста.
Начало » Центр помощи » Не могу понять что не так работает. Помогите пожалуйста.
1
mego4iter
- написал небольшой класс
class Output: # имитирует выходной файл
    text = ''
    def __init__(self):
        self.text = '' 
    def write(self, string): 
        self.text += string
- запускаю его в IDLE
- создаю объект “о” моего класса:
>>> o = Output
-после пыаюсь в нём сделать заись
>>> o.write('123')
-на что получаю ошибку:
TypeError: write() takes exactly 2 arguments (1 given)

Как я понял он мне тонко намекнул) что функция пинемает 2 аргумета а я передал только один… Но ведь первый аргумент это объект класса, если его не передавать то тоже ошибка будет. Не могу понять что не так делаю.
py.user.next
ты не создал экземпляр класса
mego4iter
простите конечно, только вторую неделю его изучаю до этого на пхп писал….

а разве o = Output не создает экземпляр класса?
py.user.next
mego4iter
а разве o = Output не создает экземпляр класса?
нет, это просто к классу привязывается новое имя

>>> name = int
>>> print(name)
<class 'int'>
>>> name("101", 2)
5
>>>
mego4iter
Спасибо огромное… как понял, просто надо было добавить пустые скобки при запуске конструктора, а не просто написать название класса. Теперь прояснилось и всё работает)

А на самом деле обидно ошибка то такая элементарная…
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB