我正在尝试执行以下操作:
如果我有:
class A():
def a(self):
return 1
class B():
def b(self):
return A()
我可以做
new_b = B()
new_b.b().a() # this returns 1
我的问题是:
我该怎么办b()。a(),其中b和a作为方法中的函数参数给出。
即:以下:
def f(f1, f2):
return f1().f2()
new_a = A()
f_a = new_a.a
new_b = B()
f_b = new_b.b
f(f_b, f_a) # error
追踪(最近一次通话):文件“”,第1行,在文件“”,第2行,在fAttributeError:“ A”对象没有属性“ f2”
另外,我可以提供f_b作为字符串“ b”并仍然可以调用它吗?
我认为您要为此更改功能
def f(f1, f2):
#return f1().f2()
print(getattr(f1(),'a')())
回答您的两个问题。