提問在注釋裡
import mathclass Point: def __init__(self, x=0.0, y=0.0): self.__x = x self.__y = y def getx(self): return self.__x def gety(self): return self.__y def distance_from_xy(self, x, y): return math.hypot(abs(self.__x - x), abs(self.__y - y))#一般括號裡的 x,y不是都要先定義例如self.__x和self.__y?為什麼 這裡的self.__x沿用__init__裡的 def distance_from_point(self, point): return self.distance_from_xy(point.getx(), point.gety())"""這裡有點搞不明白,要不要先寫一個表達式self.__point=point 在return之前 ? 還有一點,可不可以用self.getx()和self.gety() 代替point.getx()和point.gety()? """ point1 = Point(0, 0)point2 = Point(1, 1)print(point1.distance_from_point(point2))print(point2.distance_from_xy(2, 0))
最後所有帶雙下劃線的變量__,我知道是private的意思,如果都不用可以哇