Скажем, у меня есть два файла: file1.py и file2.py. В file1.py, я определяю два класса, один наследует от другого:Метод переопределения класса в другом файле
file1.py:
class Class1:
def __init__(self):
pass
def func1(self):
return "Hello world!"
class Class2(Class1):
def __init__(self):
pass
def func2(self):
return self.func1()
Так что теперь я могу назвать func1()
и func2()
от Class2
.
file2.py:
import file1
class Class3(file1.Class2):
def __init__(self):
pass
Вопрос: Как я могу изменить func1()
от Class1
в file2.py, так что func2()
в Class2
возвращается такой же, как func1()
?
Так что не нравится:
class Class3(file1.Class2):
...
def func1(self):
return "Another string"
Не совсем понятно, что вы хотите, но это звучит как 'Class3' не следует наследовать от класса Class2, если просто переопределить' Class3.func2() 'не является решением. – chepner
@chepner Это немного сложно, выше всего лишь скелет класса в стандартной библиотеке Python (определенный в файле file1.py). file2.py - это мой собственный файл, я не хочу менять код в файле в пакетах сайта! – linusg