Изменение атрибутов класса
Вы узнали, как определять атрибуты класса и как обращаться к ним через экземпляры класса. Что же произойдёт, если попытаться присвоить новое значение атрибуту класса через экземпляр?
Класс Player из предыдущего упражнения уже определён, как показано ниже:
class Player:
MAX_POSITION = 10
def __init__(self, position):
if position <= Player.MAX_POSITION:
self.position = position
else:
self.position = Player.MAX_POSITION
Это упражнение является частью курса
Введение в объектно-ориентированное программирование на Python
Инструкции к упражнению
- Создайте два объекта
Player:p1иp2с позициями9и5соответственно. - Выведите
p1.MAX_POSITIONиp2.MAX_POSITION. - Присвойте значение
7атрибутуp1.MAX_POSITION. - Снова выведите
p1.MAX_POSITIONиp2.MAX_POSITION.
Интерактивное практическое упражнение
Попробуйте выполнить это упражнение, дополнив этот пример кода.
# 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
____
____