變更類別屬性
你已經學會如何定義類別屬性,以及如何從類別實例來存取它們。那麼,當你從實例端去指定(賦值)一個不同的值給某個類別屬性時,會發生什麼事呢?
前一個練習中的 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
____
____