НачатьНачать бесплатно

Изменение атрибутов класса

Вы узнали, как определять атрибуты класса и как обращаться к ним через экземпляры класса. Что же произойдёт, если попытаться присвоить новое значение атрибуту класса через экземпляр?

Класс 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
____
____
Редактировать и запускать код