我有一个外部定义的模块,其中有许多方法。我可以用dir()得到所有方法,比如print(dir[Descriptors])
和['BalabanJ', 'BertzCT',...]
。现在我想将所有方法应用于一个值列表[x1,x2,…]。如果我直接使用Descriptors.BalabanJ(x1)
,它就可以工作了。但是,我想做一个像这样的循环
from rdkit.Chem import Descriptors
for i in dir[Descriptors]:
for x in [x1,x2,x3]:
print(Descriptors.i(x))
,它说描述符中没有方法i。我该如何实现这一点?你知道吗
您可以使用getattr检索它们
例如
请注意,如果没有
method
i
,则会引发值错误,但可以设置默认方法您需要定义类并将其作为参数传递,就像我对bar所做的那样,如果它是类方法的话
你可以看看getattr() official documentation
我想
getattr
就是你要找的我建议
inspect
:相关问题 更多 >
编程相关推荐