【发布时间】:2012-01-11 13:42:11
【问题描述】:
我想继承 python 中方法的“子方法”。有人可以帮我弄清楚如何做到这一点吗?
我想做的例子:
class A(object):
def method(self, val):
def submethod():
return "Submethod action"
if not val:
return submethod()
return "Method action"
a = A()
class B(A):
def method(self, val):
#inherit submethod ?
def submethod():
return "Another submethod action"
return super(B,self).method(val)
b = B()
print "A : "
print a.method(True)
>> Method action
print a.method(False)
>> Submethod action
print "B : "
print b.method(True)
>> Method Action
print b.method(False)
Actual answer :
>> Submethod Action
**Wanted answer :
>> Another submethod action**
亲切的问候,
昆汀
【问题讨论】:
-
你不能这样做(没有技巧)。为什么不在类级别将其定义为常规方法?
标签: python inheritance methods