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