Разработчик написал класс:
class Timer: def start(): self.running = True
При вызове t = Timer(); t.start() возникает ошибка. Какая и почему?
t = Timer(); t.start()
TypeError: start() takes 0 positional arguments but 1 was given — метод объявлен без self, а Python передаёт объект первым аргументом
TypeError: start() takes 0 positional arguments but 1 was given
self
AttributeError: 'Timer' object has no attribute 'running' — атрибут не объявлен заранее в __init__, поэтому недоступен
AttributeError: 'Timer' object has no attribute 'running'
__init__
NameError: name 'self' is not defined — интерпретатор не находит self в теле метода, так как это не зарезервированное слово
NameError: name 'self' is not defined
TypeError: start() missing 1 required positional argument: 'self' — при вызове нужно явно передать объект как t.start(t)
TypeError: start() missing 1 required positional argument: 'self'
t.start(t)