LoslegenKostenlos loslegen

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

Kurs anzeigen

Anleitung zur Übung

  • Erstelle zwei Player-Objekte: p1 und p2 mit den Positionen 9 bzw. 5.
  • Gib p1.MAX_POSITION und p2.MAX_POSITION aus.
  • Weisen 7 an p1.MAX_POSITION zu.
  • Gib p1.MAX_POSITION und p2.MAX_POSITION erneut 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
____
____
Code bearbeiten und ausführen