我正在通過「上下文中的Python編程」中的示例工作我的米勒& Ranum。試圖瞭解類和對象如何相互交互 - python
我正在通過關於課程的部分進行工作,我們正在建造一個太陽能系統,而且我不清楚代碼的某個部分。
class SolarSystem:
def __init__(self, asun):
self.thesun = asun
self.planets = []
def add_planet(self, aplanet):
self.planets.append(aplanet)
def show_planets(self):
for aplanet in self.planets:
print(aplanet)
def num_planets(self):
return len(self.planets)
我真的不知道該add_planet
和show_planets
方法的工作原理完全一樣。在shell中,我使用「星球」類創建了一些行星。星球類有更多的參數,而不僅僅是名字。它還包括名稱,半徑,質量,距離太陽的距離和衛星的數量。當我將行星對象傳遞給SolarSystem類時,self.planets列表中是否包含傳遞給Planet對象的所有參數?如果是的話,show_planet
方法知道如何打印行星的正義名稱?我想我可能錯過了這裏至關重要的一個問題,其中一個問題是增加一個總結太陽系總質量的方法。但我不確定如何從Planets類訪問mass的實例變量,所以我可以將它們歸入SolarSystem類。
我在github上託管了一個存儲庫,因爲有多個文件,我不想在這裏粘貼它。 solarsystem這樣你可以看到我在說什麼。
我希望這是有道理的,只要問你是否對任何事情都不清楚。 感謝
我加了一個total_mass方法
def total_mass(self):
total_mass = 0
for aplanet in self.planets:
total_mass = total_mass + get_mass(aplanet)
return total_mass
它沒有工作,我不知道爲什麼。
我明白了! 最後一行應該是:
total_mass = total_mass + aplanet.get_mass()
您的星球課程在哪裏,並嘗試使用它? – alexvassel
@alexvassel:在鏈接的GitHub存儲庫中。 – icktoofay