gpt4 book ai didi

python - 如何向 Python 模块提供元素周期表信息

转载 作者:太空狗 更新时间:2023-10-30 00:45:15 26 4
gpt4 key购买 nike

我正在编写一个 Python 模块,我希望许多函数都可以访问元素周期表上的信息;即原子序数及其相应的原子符号。这些信息永远不会改变。我正在为如何实现这一点而苦苦挣扎。

散列与元组:散列可以提供非常方便的查找,但可以很容易地更改。至少元组是不可变的。

变量与类:我一直在尝试尽可能将模块中的所有内容保留在类中,但我不确定这是否有意义,因为元素周期表应该永远只有一个。一个事实来源。

也许我完全遗漏了一些东西。我只是从未见过有人在我看过的 Python 项目中硬编码那么多信息。非常感谢指导。

最佳答案

您总是可以从安装 periodictable 开始它看起来非常完整 - 即使您必须自己执行此操作,您也可以查看代码。我用过:

sudo pip install periodictable

然后能够做到:

>>> import periodictable as pt
>>> g = pt.Au
>>> g.isotopes
[171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205]
>>> g.density
19.3
>>> g.mass
196.96655
>>> g.name
'gold'
>>>

我个人会为 element 创建一个类,然后在该类的实例中对成员进行适当的编码。例如:

class Element(object):
""" This class represents a single element in the periodic table """
def __init__(self, Symbol, Name, Number, Group, Period, etc):
"""
Initialises a single element instance all the above prarmeters are required
"""
self.Symbol = Symbol
#etc

然后您可以在元素周期表文件中定义每个元素,或者将它们组织成命名 block 或单个类等。

关于python - 如何向 Python 模块提供元素周期表信息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20440343/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com