Если вы хотите добавить один и тот же метод к нескольким несвязанным классам (например, сделать AOP), не копируйте несвязанный метод из одного из них. Вместо этого определите простую функцию и назначьте ее в качестве метода для каждого класса.
Обычно лучшим способом сделать это является миксин (используя простое наследование) или метакласс (синтаксис декоратора класса аккуратный).
Если вы просто обязаны украсть метод из класса (например, тот, который вы не контролируете), вы можете извлечь его из оболочки 'unbound method': foo2.ops.im_func
; это простая функция, и вы можете назначить ее в качестве метода другому классу.