使用特定的装饰器获取函数名称

时间:2019-06-11 01:50:18

标签: python-3.x

我正在尝试获取具有特定装饰器的类中的函数列表。有什么方法可以获取此列表,而无需创建另一个将它们注册到全局变量的函数?还要按顺序号排列它们

班级

class GetMethods():
    #@Seq('1')
    def methodOne(self, params):
        print('methodTwo')

    #@Seq('2')
    def methodTwo(self, params):
        print('methodTwo')     

    def methodThree(self, params):
        print('method3') 

    #@Seq('4')    
    def methodFour(self, params):
        print('method4') 

测试方法

from GetMethods import GetMethods

if __name__ == "__main__":
    object_methods = [f for f in dir(GetMethods) if not f.startswith('_')]
    print(object_methods)

输出

['methodFour', 'methodOne', 'methodThree', 'methodTwo']

预期的输出-methodThree没有装饰器

['methodOne', 'methodTwo', 'methodFour']

0 个答案:

没有答案