Klassenattribute ändern
Du hast gelernt, wie man Klassenattribute definiert und wie man von Instanzen aus auf sie zugreift. Was passiert, wenn du beim Zugriff über eine Instanz einem Klassenattribut einen anderen Wert zuweist?
Die Klasse Player aus der vorherigen Übung wurde wie unten gezeigt vordefiniert:
class Player:
MAX_POSITION = 10
def __init__(self, position):
if position <= Player.MAX_POSITION:
self.position = position
else:
self.position = Player.MAX_POSITION
Diese Übung ist Teil des Kurses
Einführung in objektorientierte Programmierung in Python
Anleitung zur Übung
- Erstelle zwei
Player-Objekte:p1undp2mit den Positionen9bzw.5. - Gib
p1.MAX_POSITIONundp2.MAX_POSITIONaus. - Weisen
7anp1.MAX_POSITIONzu. - Gib
p1.MAX_POSITIONundp2.MAX_POSITIONerneut aus.
Interaktive Übung
Vervollständige den Beispielcode, um diese Übung erfolgreich abzuschließen.
# Create Players p1 and p2
p1 = ____
p2 = ____
print("MAX_POSITION of p1 and p2 before assignment:")
# Print p1.MAX_POSITION and p2.MAX_POSITION
____
____
# Assign 7 to p1.MAX_POSITION
____
print("MAX_POSITION of p1 and p2 after assignment:")
# Print p1.MAX_POSITION and p2.MAX_POSITION
____
____