Реализация логики для атрибутов
Класс Player, созданный ранее, стал хорошей отправной точкой, однако одно из ключевых преимуществ атрибутов уровня класса — возможность ограничивать допустимые значения данных снизу и/или сверху.
В этом упражнении вы доработаете определение класса Player, чтобы значение position не превышало MAX_POSITION — атрибут уровня класса.
Это упражнение является частью курса
Введение в объектно-ориентированное программирование на Python
Инструкции к упражнению
- Определите конструктор
__init__()с двумя аргументами:selfиposition. - Внутри конструктора проверьте, не превышает ли
positionзначениеMAX_POSITIONна уровне класса; если нет — присвойтеself.positionзначениеposition. - Если
positionбольшеMAX_POSITIONна уровне класса, присвойтеself.positionзначение атрибута.MAX_POSITIONэтого класса. - Создайте объект
Playerс именемpи позицией6, затем выведите егоMAX_POSITION.
Интерактивное практическое упражнение
Попробуйте выполнить это упражнение, дополнив этот пример кода.
class Player:
MAX_POSITION = 10
# Define a constructor
____ ____(____, ____):
# Check if position is less than the class-level attribute value
if ____ <= ____.____:
____.____ = ____
# If not, set equal to the class-level attribute
else:
____.____ = ____.____
# Create a Player object, p, and print its MAX_POSITITON
p = ____(____)
print(____.____)