Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/joomla/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
实例列表的Python继承_Python_Arrays_List_Class_Inheritance - Fatal编程技术网

实例列表的Python继承

实例列表的Python继承,python,arrays,list,class,inheritance,Python,Arrays,List,Class,Inheritance,我有一个python对象,具有许多属性和函数(下面是一个虚拟示例): 我希望最好生成这些对象的numpy数组(或列表),并获得其属性,而不总是在数组上循环。目前,我通过循环创建了一个分子对象列表(mols),并通过循环检查其属性,例如: atomList=[mol.atoms for mol in mols] 但我更愿意获得它: atomList=mols.atoms 是否有一种自动获取此类数组/列表类的方法,而无需手动定义molList类并手动添加其属性、函数等?您可以使用class\u变

我有一个python对象,具有许多属性和函数(下面是一个虚拟示例):

我希望最好生成这些对象的
numpy
数组(或
列表
),并获得其属性,而不总是在数组上循环。目前,我通过循环创建了一个分子对象列表(
mols
),并通过循环检查其属性,例如:

atomList=[mol.atoms for mol in mols]
但我更愿意获得它:

atomList=mols.atoms

是否有一种自动获取此类数组/列表类的方法,而无需手动定义
molList
类并手动添加其属性、函数等?

您可以使用
class\u变量
。类变量和实例变量之间的差异可以在这里找到:

就你的例子来说,类似这样的东西应该会起作用:

类分子:
atomList=[]#类变量
定义初始值(自身、原子、坐标):
self.atoms=np.copy(atoms)#实例变量
self.coords=np.copy(coords)
molector.atomList.append(atoms)#使用类的每个新实例更新类变量
def换档(自动档,右档):
self.coords=self.coords+r

然后在你的代码中,你可以只做
atomlist=molecule.atomlist

,除了定义一个
atoms
函数,它需要一个分子列表,我认为没有更简洁的方法。我会继续使用列表理解。你只是想寻找一种隐藏列表理解的方法,这样你就不必每次都键入它(使用函数),还是想找到一种完全避免列表理解的方法?有没有一种方法可以将分子表示为
np
数组?分子被定义为具有典型numpy数组属性的对象。我已经有几十个函数在它们上面运行。我刚开始研究太多的分子,我不能再定义为mol1,…,mol150,一个接一个,我需要使用molList。我想根据属性(如最大能量等)或随机选择。注意:这会给出所有创建的分子中的所有原子。目的是获得任何属性的列表或数组,或访问对象实例的任何函数,而无需手动编码给定属性的某些函数等。
atomList=mols.atoms