You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何正确调用rdkit.Chem.PeriodicTable.GetAtomicWeight获取原子量?

RDKit PeriodicTable.GetAtomicWeight 参数传递错误解决方法

你遇到的错误是因为 GetAtomicWeight 是实例方法,而非类方法,必须先获取 PeriodicTable 的实例后才能调用,不能直接通过 Chem.PeriodicTable 类直接调用该方法。

正确用法示例

方法1:使用RDKit提供的默认周期表实例

from rdkit import Chem

# 获取默认周期表实例
pt = Chem.GetPeriodicTable()
# 传入元素符号获取原子量
print(pt.GetAtomicWeight('C'))
# 也可以传入原子序数获取
print(pt.GetAtomicWeight(6))

方法2:手动实例化PeriodicTable

from rdkit import Chem

# 创建PeriodicTable实例
pt = Chem.PeriodicTable()
print(pt.GetAtomicWeight('C'))

错误原因说明

原代码直接调用 Chem.PeriodicTable.GetAtomicWeight('C'),相当于把字符串 'C' 作为第一个参数传递给了需要 PeriodicTable 实例的方法,不符合底层C++方法的签名要求(需要先传入实例,再传入元素符号/原子序数),因此触发 ArgumentError。

内容的提问来源于stack exchange,提问作者FireFly2000

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.17 05:15:27