面向对象-4-实例属性和方法、类属性和类方法、静态方法
实例
类
class Tools(object):
count = 0
def __init__(self, name):
self.name = name
Tools.count += 1
futou = Tools('斧头')
chuizi = Tools('锤子')
print(Tools.count)
class Tools(object):
count = 0
def __init__(self, name):
self.name = name
Tools.count += 1
tool1 = Tools('斧头')
tool2 = Tools('锤子')
print(Tools.count)
print(tool1.count)
类方法
class Tools(object):
count = 0
@classmethod
def show_tools_count(cls):
print('工具数量为:%d ' % cls.count)
def __init__(self, name):
self.name = name
Tools.count += 1
tool1 = Tools('斧头')
tool2 = Tools('锤子')
Tools.show_tools_count()
静态方法
class Dog(object):
@staticmethod
def run():
print('小狗要跑。。。。')
# 直接用类名调用
Dog.run()
# 用对象名调用
wangcai = Dog()
wangcai.run()
综合练习
class Game(object):
# 定义历史最高分
top_score = 0
def __init__(self, player_name):
self.name = player_name
@staticmethod
def show_help():
print('这是帮助信息!')
@classmethod
def show_top_score(cls):
print('历史最高分是:%d' % cls.top_score)
def start_game(self):
print('%s 游戏开始了!' % self.name)
# 查看帮助信息
Game.show_help()
# 查看历史最高分
Game.show_top_score()
# 创建游戏对象,开始游戏。
xiaoming = Game('小明')
xiaoming.start_game()