python - 在 for 循环中使用类方法
问题描述
我有一个外部定义的模块,其中包含许多方法。我可以使用 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
就是你要找的
from rdkit.Chem import Descriptors
for i in dir(Descriptors):
if callable(i):
for x in [x1,x2,x3]:
print(getattr(Descriptors ,i)(x))
推荐阅读
- python - 如何将环境变量设置为 PIPENV
- sql - WHERE 子句表达式引用 [casted timestamp to date column] 既不分组也不聚合
- spring-boot - Spring Cloud Config Server - Git - 未授权
- powershell - 解析日志文件以查找特定日期的错误
- apache-spark - 有没有办法在通过 pyspark 删除 hdfs 文件时跳过垃圾?
- elasticsearch - 有人可以解释 Elasticsearch index_time_in_millis 吗?
- python - 在 SQLAlchemy 中完全重新启动/重新加载具有动态功能的声明性类
- html - 为什么谷歌浏览器上的混合内容不起作用
- node.js - 使用 Lambda 的 DynamoDB 扫描不返回元素
- c++ - 当我尝试编译我的程序时,GTKmm 头文件似乎丢失了