IniziaInizia gratis

Modificare gli attributi di classe

Hai imparato come definire gli attributi di classe e come accedervi dalle istanze della classe. Cosa succede se provi ad assegnare un altro valore a un attributo di classe quando lo accedi da un'istanza?

La classe Player dell'esercizio precedente è stata predefinita, come mostrato di seguito:

class Player:
    MAX_POSITION = 10
    def __init__(self, position):
        if position <= Player.MAX_POSITION:
              self.position = position
        else:
              self.position = Player.MAX_POSITION

Questo esercizio fa parte del corso

Introduzione alla programmazione orientata agli oggetti in Python

Visualizza il corso

Istruzioni dell'esercizio

  • Crea due oggetti Player: p1 e p2, con posizioni 9 e 5 rispettivamente.
  • Stampa p1.MAX_POSITION e p2.MAX_POSITION.
  • Assegna 7 a p1.MAX_POSITION.
  • Stampa di nuovo p1.MAX_POSITION e p2.MAX_POSITION.

Esercizio pratico interattivo

Prova a risolvere questo esercizio completando il codice di esempio.

# 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
____
____
Modifica ed esegui il codice