Почему в следующем коде последняя строка выполнения дает ошибку? Разве оператор точки в x.bf() не должен передавать экземпляр 'x' функции bf (как x.af())?
class A:
a = 6
def af (self):
return "Hello-People"
class B:
b = 7
def bf (self):
return "Bye-People"
>>> x = A()
>>> b = B()
>>> x.bf = B.bf
>>> x.bf()
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
TypeError: bf() missing 1 required positional argument: 'self'