实例属性、类属性 实例方法、类方法 静态方法

 举个例子说明

class Game(object):
    num = 0                   #类属性

    def __init__(self):       #实例方法
        self.name='laowang'   #实例属性

    @classmethod
    def add_num(cls):         #类方法
        cls.num += 1
    @staticmethod
    def print_mulu():         #静态方法
        print('-'*20)
        print('hahahah')
        print('-'*20)


game = Game()
#类方法的调用 两种
Game.add_num()
game.add_num()
#类属性的调用
print('%d' % (Game.num))
#静态方法的调用
Game.print_mulu()
game.print_mulu()

类属性:相当于一个类中的全局变量,通过这个类实例化出来的对象都可以访问和修改类属性,可以用来记录被调用次数

实例方法:就是类中的自己调用的普通的方法

实例属性:可以被实例中的其他方法所访问

类方法:可以被实例对象调用也可以被类对象调用         @classmethod

静态方法:参数随意设置           @staticmethod

 #总结

       未加@之类装饰器时都是属于实例方法,只能被实例对象调用。

  @classmethod类方法,   可以被类对象和实例对象调用。

  @staicmethod静态方法,可以被类对象和实例对象调用,参数可以随意设置。

猜你喜欢

转载自blog.csdn.net/weixin_38280090/article/details/85931922