说我有两个功能
def do1(x, y):
return x + y
def do2(x, y):
return x - y
我可以像这样创建一个类
class foo(object):
def __init__(self, func):
self.func = func
abc = foo(func=do1)
abc.func(1, 1) # return 2
abc = foo(func=do2)
abc.func(1, 1) # return 0
我可以让abc.func
成为方法而不是属性吗?
感谢。
答案 0 :(得分:0)
您可以将类添加到类中:
def do(self, x, y):
return x+y
class Foo(object0:
def __init(self):
pass
Foo.bar = do
a = Foo()
a.bar(1,2)
out> 3
或者是一个实例:
def do2(x,y):
return x + y
a = Foo()
a.bar2 = do2
a.bar2(3,4)
out> 7