python 普通方法,@classmethod,@staticmethod

  • 普通方法
    实例化一个类,然后通过类的实例化去调用方法:

    class method1:
    def __init__(self):
        self.items = [1,2,3,]
    def getvalue(self):
        return self.items
  • @classmedhod
    依赖类而不依赖示例,定义方法的时候第一个参数指代当前类

    class method2:
    item = 1
    def __init__(self):
        self.items = [1,2,3,]
    @classmethod
    def getvalue(cls, args):
        print(cls.__name__)   # print: method2
        print(cls.item)             # print: 1
        return cls
  • @staticmedhot
    静态方法,和java, C#一致,只是定义在类中,和类并没有关系

    class method3:
    item  = 1
    @staticmethod
    def getvalue():
        print(item)      # error

猜你喜欢

转载自www.cnblogs.com/bincoding/p/8973151.html