시작하기무료로 시작하기

속성에 로직 구현하기

이전에 만든 Player 클래스는 좋은 출발점이었지만, 클래스 수준 속성의 주요 장점 중 하나는 데이터의 상한/하한을 제한할 수 있다는 점이에요.

이 연습 문제에서는 Player 클래스 정의를 수정해, position 값이 클래스 수준의 MAX_POSITION 값을 초과하지 못하도록 제한해 볼 거예요.

이 연습은 강의의 일부입니다

Python 객체 지향 프로그래밍 입문

강의 보기

연습 안내

  • selfposition 두 인자를 받는 __init__() 생성자를 정의하세요.
  • 생성자 내부에서 position이 클래스 수준의 MAX_POSITION보다 작거나 같은지 확인하고, 그렇다면 self.positionposition을 할당하세요.
  • position이 클래스 수준의 MAX_POSITION보다 크면, 클래스의 .MAX_POSITION 속성 값을 할당하세요.
  • 위치가 6Player 객체 p를 만들고, 그 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(____.____)
코드 편집 및 실행