类属性,类方法,静态方法

1. 类属性和类方法

类属性:针对类对象定义的属性 使用赋值语句在class关键字下可以定义类属性
类方法:针对类对象定义的方法 在类方法内部可以直接访问类属性或者调用其他的类方法
它们都是共有的,在同一个类中是共享的。
举例:
统计玩具类总共创建的对象的个数

class Toy(object):
    count = 0
    def __init__(self,name):
        self.name = name
        Toy.count += 1
    #定义类方法
    @classmethod
    def show_toy_count(cls):
        print('玩具对象的数量 %d'%(cls.count))
toy1=Toy('taidi')
toy2 = Toy('ailis')
Toy.show_toy_count()

结果是:

玩具对象的数量 2

2. 静态方法

静态方法:通过类名调用静态方法,不需要创建对象,直接就可以调用
不需要访问实例属性和类属性就可以用静态方法。

class Dog(object):
    @staticmethod
    def run():
        print('小狗要跑')
#类名.方法即可,不需要创建对象
Dog.run()

结果是:

小狗要跑

综合:

**class Game(object):
    top_score = 0
    def __init__(self,player_name):
        self.play_name = player_name
    @staticmethod
    def show_help():
        print('帮助信息')
    @classmethod
    def show_top_score(cls):
        print('历史记录%d'%cls.top_score)
    def stat_game(self):
        print('%s start'%self.play_name)
Game.show_help()
#类方法的调用:类名.函数名
Game.show_top_score()
game=Game('XIAO')
game.show_top_score()
game.stat_game()**

结果是:

帮助信息
历史记录0
历史记录0
XIAO start
发布了63 篇原创文章 · 获赞 0 · 访问量 1167

猜你喜欢

转载自blog.csdn.net/weixin_2158/article/details/104800311
今日推荐