练习题-游戏获取最高分,类属性,类方法获取
游戏设计-静态方法,类方法,实例方法,类属性,def __str__(self):魔术方法
最高分-类属性,因为每个玩家都能查看,更新最高分
获取最高分-类方法获取
玩家打印时,返回对象,定义def __str__(self):魔术方法,让其返回用户名
静态方法-与每个玩家无关,但是提醒每个玩家,可以定义为静态方法
实例方法-与每个玩家相关
from random import randint class Player: top_score = 0 score_list = [] def __init__(self, name): self.name = name @classmethod def display_history_high_score(cls): cls.top_score = max(cls.score_list) def start(self): self.show_help() print(f"欢迎{self.name}光临,请愉快玩耍!") score = randint(0, 100) self.score_list.append(score) @staticmethod def show_help(): print(f"\n欢迎光临,植物大战僵尸游戏!") print(f"游戏过程中,要遵守相关规定!") # __str__方法是魔术方法 # a. 名称是固定的 # b. 当print(对象)时, 会自动调用__str__方法 # c. 只能返回字符串类型, 其他类型会报错 def __str__(self): return self.name player1 = Player("小小") player2 = Player("叮当") player3 = Player("TOM") # 没有定义魔术方法__str__时,返回 # <__main__.Player object at 0x02987150> # <__main__.Player object at 0x02987E90> # <__main__.Player object at 0x029A3DD0> # 定义魔术方法__str__后,return self.name,返回 # 小小 # 叮当 # TOM print(player1) print(player2) print(player3)