我正在使用相同的類屬性在不同的文件中創建大量算法。該類通過點擊 tkinter 畫布獲取其屬性。class Algo: def __init__(self, x, y): self.x = x self.y = y def callback(event): x, y = event.x, event.y return (Point(x, y)) 目前我有一種使用此類的算法。我計劃在具有相同 Point 屬性的其他文件中添加更多算法。有沒有辦法使這些屬性在不同文件中的不同類之間通用?是否最好只在單獨的文件中創建一個類,而不對其他文件使用 OOP,將屬性傳遞給函數?
1 回答

千萬里不及你
TA貢獻1784條經驗 獲得超9個贊
關于問題 1 a 部分:“有沒有辦法使這些屬性在不同類之間通用”,這只是簡單的繼承,如下所示。
就您擔心您的類位于不同文件中而言:
首先請注意,在 Python 中,不需要每個文件有 1 個類。
一般來說,在文件之間訪問內容的方式是導入它。
如果要從其他地方定義的類繼承,請導入該類。如果您想使用其他地方定義的函數,請導入該函數。然而,導入對于是否使用類的問題應該沒有任何影響。
C
class Pointed:
? ? def __init__(self, x, y):
? ? ? ? self.x=x
? ? ? ? self.y=y
? ? ?
class Algo(Pointed):
? ? def __init__(self, x, y, something_else):
? ? ? ? super().__init__(x, y)
? ? ? ? self.something_else = something_else
? ? ?
algo = Algo(3, 4, "hello world")
print(algo.x)
print(algo.y)
print(algo.something_else)
添加回答
舉報
0/150
提交
取消