說我有兩個文件,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:
問題:我怎樣才能在file2.py改變func1()
從Class1
,使func2()
在Class2
回報一樣func1()
?
所以不喜歡這樣的:
class Class3(file1.Class2):
...
def func1(self):
return "Another string"
這並不完全清楚你想要什麼,但是如果僅僅覆蓋'Class3.func2()'不是解決方案,它聽起來像'Class3'不應該從'Class2'繼承。 – chepner
@chepner這有點棘手,以上只是Python標準庫中的一個類的框架(在file1.py中定義)。 file2.py是我自己的文件,我不想更改站點包中的文件中的代碼! – linusg