Рассмотрим эту ситуацию:
Я получаю объект типа 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__
?
Примечание: это сообщение отредактировано исходным плакатом, чтобы включить предложенные ниже изменения, поэтому некоторые из предложений выглядят излишними или неправильными.