Modifier les attributs d'une classe
Vous avez appris à définir les attributs d'une classe et à y accéder à partir des instances de la classe. Que se passera-t-il si vous essayez d'attribuer une autre valeur à un attribut de classe lorsque vous y accédez à partir d'une instance ?
La classe Player
de l'exercice précédent a été prédéfinie, comme indiqué ci-dessous :
class Player:
MAX_POSITION = 10
def __init__(self, position):
if position <= Player.MAX_POSITION:
self.position = position
else:
self.position = Player.MAX_POSITION
Cet exercice fait partie du cours
Introduction à la programmation orientée objet en Python
Instructions
- Créez deux objets
Player
:p1
etp2
, avec les positions9
et5
respectivement. - Affichez
p1.MAX_POSITION
etp2.MAX_POSITION
. - Assignez
7
àp1.MAX_POSITION
. - Imprimez à nouveau
p1.MAX_POSITION
etp2.MAX_POSITION
.
Exercice interactif pratique
Essayez cet exercice en complétant cet exemple de code.
# 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
____
____