在学习黑马程序员的视频,看到记录下。
静态方法:方法内部,不需要访问类属性和实例属性
类方法: 方法内部,只需要访问类属性
实例方法: 方法内部需要访问实例属性,可以用 类名(或self).类属性名 访问类属性
1 class Game(object): 2 3 top_score = 120 #游戏最高分 4 5 def __init__(self,player_name): 6 self.player_name = player_name 7 8 @staticmethod 9 def show_help(): 10 print("帮助信息:按Erter键开始游戏") 11 12 @classmethod 13 def show_top_score(cls): 14 print("历史最高分:%s" %cls.top_score) 15 16 def start_game(self): 17 print('%s开始游戏了,他的最高分为%s分' %(self.player_name,self.top_score)) 18 19 #1.查看游戏帮助信息。静态方法,不需要访问类的任何属性 20 Game.show_help() 21 22 #2.查看历史最高分。类方法,这里只需要访问类属性top_score 23 Game.show_top_score() 24 25 #3.创建游戏对象小明。实例方法,先创建了一个实例对象play,这里需要访问实例对象的player_name属性,还访问了类属性top_score 26 play = Game("小明") 27 play.start_game()
输出为:
帮助信息:按Erter键开始游戏
历史最高分:120
小明开始游戏了,他的最高分为120分