Kar*_*ran 2 python inheritance
我想知道python中是否存在泛型继承.
例如,
Class A(object):
def foo():
Class B(object):
def foo():
Class C(<someParentClass>):
def bar():
Run Code Online (Sandbox Code Playgroud)
如此有效,我想做点什么
myClass1 = C()<A>
myClass2 = C()<B>
Run Code Online (Sandbox Code Playgroud)
我猜这在python中是不可能的,但有没有其他方法可以产生类似的效果?
什么都没有阻止它.Python中的所有内容基本上都是通用的.一切都是运行时,包括类语句,所以你可以这样做:
def make_C(parent):
class C(parent):
def bar(self):
...
return C
myClass1 = make_C(A)
myClass2 = make_C(B)
Run Code Online (Sandbox Code Playgroud)
如果您希望C类在名称或文档中更具描述性,则可以分配__name__和__doc__属性,或使用三参数形式type()而不是class语句来创建它.