net*_*men 1 python inheritance
我想要我的类,X
并Y
有一个f(x)
调用函数的方法,func(x, y)
以便X.f(x)
始终调用func(x, 1)
并Y.f(x)
始终调用func(x, 2)
class X(object):
def f(self, x):
func(x, 1)
class Y(object):
def f(self, x):
func(x, 2)
Run Code Online (Sandbox Code Playgroud)
但是,我想将f
在一个公共基类B
的X
和Y
.我如何可以传递值(1或2)当我继承X
和Y
从B
?我可以像这样(C++像伪代码):
class B(object)<y>: # y is sth like inheritance parameter
def f(self, x):
func(x, y)
class X(B<1>):
pass
class Y(B<2>):
pass
Run Code Online (Sandbox Code Playgroud)
Python中使用了哪些技术来完成这些任务?
Python比你给予信任更灵活.
我想你想要这样的东西:
class B(object):
def f(self,x):
func(x, self.param)
class X(B):
param=1
class Y(B):
param=2
Run Code Online (Sandbox Code Playgroud)
NB