Рассмотрим эту ситуацию:
Я получаю объект типа A, который имеет функцию f. То есть:
class A:
def f(self):
print 'in f'
def h(self):
print 'in h'
и я получаю экземпляр этого класса, но я хочу переопределить функцию f, но сохранить остальные функции A. Так что я думал, было что-то вроде:
class B(A):
def __init__(self, a):
#something here
....
def f(self):
print 'in B->f'
и использование будет:
def main(a):
b = B(a)
b.f() #prints "in B->f"
b.h() #print "in h"
Что я хочу - это своего рода конструктор копирования, который получает родительский элемент текущего класса (A) и возвращает экземпляр этого класса (B).
Как вы это делаете? Как выглядит метод __init__?
Примечание: это сообщение отредактировано исходным плакатом, чтобы включить предложенные ниже изменения, поэтому некоторые из предложений выглядят излишними или неправильными.