2016-05-27 16 views
-1

私はTriangleというクラスを作成しています。 Triangleの中で、私が1つだけの数ではなく渡していたリストですので、私が作成する必要があります、私は引数のリストをクラスに渡す

class Triangle(object): 

    def __init__(self, three_points, two_angles): 
     self.points = three_points 
     self.angles = two_angles 

を定義していますthree_pointsリストとtwo_anglesリスト(すなわちself.triangle0 = Triangle([1, 2, 3], [20, 30])

を渡され、値を入れるリストか、これはちょうどうまくいくのですか?

+0

*「ちょうど仕事」*を意味しますか?この意味での仕事*の意味は何ですか? **あなたはそれを試してみませんか?**あなたが期待しているのは、 'points'属性がリストになるということですが、あなたが望む振る舞いであれば、それはうまくいくでしょうか?また、私はあなたが不変であるので、代わりにタプルを使用することをお勧めします。 – jonrsharpe

+0

あなたの例はあまり意味がありません - あなたは3つの*スカラーの代わりに3つのスカラーを渡しています*(それ自体は数字のペアです)。ちなみに、あなたの質問は、コンストラクタに渡す前にリストを*命名する必要があるかどうかです。もしそうなら、答えは "いいえ"です - あなたはリストリテラルを渡すことができます。 –

答えて

0

これはあなたのモックアップの仕組みになります。実行時にself.pointsは渡された値を含むリストになります。self.angelsと同じです。リストにプリミティブだけでなくオブジェクトが含まれている場合は、実際のオブジェクトではなく、リストにポインタを渡している可能性があることに注意してください。