我有一个python对象,具有许多属性和函数(下面是一个虚拟示例):
class molecule:
def __init__(self, atoms, coords):
self.atoms=np.copy(atoms)
self.coords=np.copy(coords)
def shift(self,r):
self.coords=self.coords+r
我想生成一个 numpy
数组(或 list
)并获取其属性,而不总是在数组上循环。现在我创建了一个分子对象列表( mols
)通过循环检查其属性,例如:
atomList=[mol.atoms for mol in mols]
但我更愿意得到:
atomList=mols.atoms
有没有一种不需要手动定义 molList
类并手动添加其属性、函数等?
1条答案
按热度按时间ivqmmu1c1#
你可以使用
class_variable
. 类变量和示例变量之间的区别可以在这里找到:https://medium.com/python-features/class-vs-instance-variables-8d452e9bd#:~:text=class%20variables%20are%20shared%20across,出人意料的是%20behavior%20in%20our%20code。以你为例,这样的事情应该行得通:
在你的代码里,你可以
atomlist = molecule.atomList