[英]Polymorphism when calling a static method from a static method in python
我目前正在研究一個問題,其中許多類將基於基類。 我希望這些類從基類繼承靜態函數,而基類又調用靜態函數。 但是,將為每個類定義第二個靜態函數。
一個簡單的例子是:
class foo():
@staticmethod
def fn1(x):
return x
@staticmethod
def fn2(x, y):
return foo.fn1(x + y)
class bar(foo):
@staticmethod
def fn1(x):
return 2*x
使用上面的代碼bar.fn2(1, 2)
返回foo.fn1(1 + 2)
,我寧願它返回bar.fn1(1 + 2)
。
這可能與python中的靜態方法有關,而不為每個類定義fn2嗎?
感謝任何幫助!
使fn2
成為一個類方法,以便它可以訪問用於調用該方法的類:
@classmethod
def fn2(cls, x, y):
return cls.fn1(x + y)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.