私はクラスという名前のクラスを持っています。これは、クラスSegment
とPointmass
のインスタンスの数を作成します。これらのすべてのインスタンスには変数mass
があります。どのようにして同じ変数名mass
を持つオブジェクト内のすべてのオブジェクトの総質量を得ることができますか?私は今何同じ名前のクラス内のインスタンスのすべての変数を追加します
:
self.totalmass = self.joint1.mass + self.joint2.mass + self.joint3.mass + self.slide.mass + self.arm.mass
は非常に長いラインで、Robot
はそれ以上のアームや関節を獲得したときに、本当に不便です
class Robot:
def __init__(self, massJoint1, massJoint2, massJoint3, massSlide, reachSlide, massArm, lengthArm):
self.joint1 = Pointmass(massJoint1)
self.joint2 = Pointmass(massJoint2)
self.joint3 = Pointmass(massJoint3)
self.slide = Slide(massSlide, reachSlide)
self.arm = Arm(massArm, lengthArm)
self.totalmass = self.joint1.mass + self.joint2.mass + self.joint3.mass + self.slide.mass + self.arm.mass
def printVars(self):
attrs = vars(self)
print(', \n'.join("%s: \t%s" % item for item in attrs.items()))
print()
class Pointmass:
def __init__(self, mass):
self.mass = mass
self.location = None
class Segment:
def __init__(self, mass):
self.mass = mass
self.start = None
self.end = None
れて...です総質量を得る良い方法がありますか?
リスト、 'for'ループと' * args'を使用しますか? –
あなたの 'joint1'、' joint2'、 'joint3'のようなものがリストにあるはずです。 – khelwood
あなたのロボットの足の数が多すぎる場合は、それをリストに保存する必要があります。 –