始める無料で始める

クラス属性を変更する

クラス属性の定義方法と、インスタンスからのアクセス方法を学びました。では、インスタンス経由でクラス属性に別の値を代入しようとすると、どうなるでしょうか?

前の演習で使った 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によるオブジェクト指向プログラミング入門

コースを見る

演習の手順

  • 位置がそれぞれ 95Player オブジェクト p1p2 を作成します。
  • p1.MAX_POSITIONp2.MAX_POSITION を表示します。
  • p1.MAX_POSITION7 を代入します。
  • もう一度、p1.MAX_POSITIONp2.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
____
____
コードを編集して実行