我想要从继承类中调用父类的call方法。
代码如下:
#!/usr/bin/env python
class Parent(object):
def __call__(self, name):
print "hello world, ", name
class Person(Parent):
def __call__(self, someinfo):
super(Parent, self).__call__(someinfo)
p = Person()
p("info")
我得到的结果是:
File "./test.py", line 12, in __call__
super(Parent, self).__call__(someinfo)
AttributeError: 'super' object has no attribute '__call__'
我不知道为什么,能不能有人帮我解决这个问题?
__call__
的情况下,使用super()()
会失败,以便于未来的搜索者能够理解?哦,我这样偷懒提出新问题 :-) - Ciro Santilli OurBigBook.comsuper()
实例代理属性访问,但调用操作不会在实例上查找__call__
属性。(这在super()
文档中提到,但那里的语言非常技术化...) - Petr Viktorin