4
如何覆蓋靜態方法並保持靜態?Python - 覆蓋靜態方法
In [6]: class Foo(object):
...: @staticmethod
...: def foo(a, b):
...: print a + b
...:
...:
In [7]: Foo.foo
Out[7]: <function foo at 0x86a1a74>
In [8]: class Bar(Foo):
...: def foo(a, b):
...: print a - b
...:
...:
In [9]: Bar.foo
Out[9]: <unbound method Bar.foo>
我試過用靜態方法裝飾Bar的foo,它工作。但是我每次分類時都必須裝飾它。
這就是它的工作方式。你可以用元類進行一些可怕的攻擊來獲得你想要的行爲,但我強烈建議不要這樣做。 – interjay 2012-01-15 12:14:56