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
Istruzioni dell'esercizio
- Crea due oggetti
Player:p1ep2, con posizioni9e5rispettivamente. - Stampa
p1.MAX_POSITIONep2.MAX_POSITION. - Assegna
7ap1.MAX_POSITION. - Stampa di nuovo
p1.MAX_POSITIONep2.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
____
____