3

クラスの定義とその使用法について一般的な質問があります.本の 1 つからの以下のコードは問題なく動作しますが、一般的な質問があります。

ここではクラス Point を定義し、2 つのインスタンス Point1 と Point2 を作成しています。point2 の距離を計算するとき、どのように point1 オブジェクトを渡すことができるでしょうか?

point1 はポイント オブジェクトではありませんが、other_point は変数として表されます。

私は少し混乱しています。

コード:

import math
class Point:
    def move(self, x, y):
        self.x = x
        self.y = y
    def reset(self):
        self.move(0, 0)
    def calculate_distance(self, other_point):
        print("Inside calculating distance")

        return math.sqrt(
                (self.x - other_point.x)**2 +
                (self.y - other_point.y)**2)

point1 = Point()
point2 = Point()
point1.reset()
point2.move(5,0)
print(point2.calculate_distance(point1))                    
4

4 に答える 4

1

コードを指定すると、 によって参照されるオブジェクトと によって参照されるオブジェクトをpoint2.calculate_distance(point1)呼び出します。calculate_distancepoint2selfpoint1other_point

このようなことについて学習する良い方法は、ビジュアル デバッガーを使用して、呼び出しが行われたときにスタック フレームの値を調べることです。

于 2012-06-18T23:34:05.250 に答える