初识python三大方法:实例方法、类方法、静态方法
- 实例方法 —— 方法内部需要访问 实例属性
- 实例方法 内部可以使用 类名. 访问类属性
- 类方法 —— 方法内部 只 需要访问 类属性
- 静态方法 —— 方法内部,不需要访问 实例属性 和 类属性
如果方法内部 即需要访问 实例属性,又需要访问 类属性,应该定义成什么方法?
答案
- 应该定义 实例方法
- 因为,类只有一个,在 实例方法 内部可以使用 类名. 访问类属性
案例代码
class Game(object):
# 类属性,历史最高分
top_score = 0
# 实例属性在init方法内部定义
def __init__(self, play_name):
self.play_name = play_name
# 定义静态方法
@staticmethod
def show_help():
print("帮助信息:让僵尸进入大门")
# 定义类方法
@classmethod
def show_top_score(cls):
print("历史记录 %d" % cls.top_score)
# 定义实例方法
def start_game(self):
print("%s 开始游戏..." % self.play_name)
# 查看游戏帮助信息
Game.show_help()
# 查看历史最高分
Game.show_top_score()
# 创建游戏对象
game = Game("小明")
game.start_game()
本资料和案例全部来自
https://www.bilibili.com/video/BV1ex411x7Em?p=417