Неправильно. Экземпляры не хранят ссылки на каждый метод.
Например:
class Foo():
def bar(self):
print 'bar'
f = Foo()
def alternate_bar(self):
print 'alternate bar'
f.bar()
Foo.bar = alternate_bar # modifies the class!
f.bar()
печатает
bar
alternate bar
. Именно поэтому вы предоставляете self
для каждого метода, который вы определяете в классе. Без ссылки на self
, метод не имеет понятия, к какому экземпляру он работает.