报告类外部方法中的 @classmethod@staticmethod 装饰器的用法。

示例:

class State(object):

    @classmethod
    def my_state(cls, name):
        cls.name = name


@classmethod
def change_state(self):
    pass

change_state 方法不应使用 @classmethod 装饰器,或应将其移动到 state 类声明。

如果应用移除装饰器操作,代码变为:

class State(object):

    @classmethod
    def my_state(cls, name):
        cls.name = name


def change_state(self):
    pass