Python beginner here。私は、オブジェクトのリストからクラス変数にアクセスする便利な関数を記述しようとしています。便利なクラス変数のコレクション
現在、私は変数ごとに1つの関数を書いています。たとえば、「動物」を含むクラス「群」があります。各動物には、位置、見出しなどの時系列を格納する多くの変数があります(以下の例では、ほんの一例が示されています)。
私はSwarmからすべての動物の特定の変数にアクセスする便利な方法を探していますクラス。私はn個の列を持つ行列を求めたい。ここで、nは動物の数である。
import numpy as np
class Animal(object):
def __init__(self):
self.x=np.zeros(10)
self.y=np.ones(10)
class Swarm(object):
def __init__(self):
self.animals=[]
self.animals.append(Animal())
self.animals.append(Animal())
def get_all_x(self):
x1=self.animals[0].x
x2=self.animals[1].x
return np.stack([x1,x2],axis=-1)
s=Swarm()
s.get_all_x()
擬似コードでは、変数名を文字列入力として収集する 'Swarm'クラスの関数が必要です。
明らかに、この「var」にアクセスする方法は機能しません。何かヒント?
を使うとのgetattr()](https://docs.python.org/3/library/ functions.html#getattr)。 –