python inspect

python3 内置了一个模块 inspect,通过该模块可以查询到一个类对象中的成员(包含函数、字段等)

举个栗子:

import inspect

class Test():
    def promo1(self):
        pass

    def promo2(self):
        pass

    def promo3(self):
        pass



if __name__ == "__main__":
    promos = [func for name,func in inspect.getmembers(Test,inspect.isfunction)]
    print(promos)

上面最后输出的结果是Test这个类下面的所有函数对象,通过inspect.isfuncion指定只拿出函数,而不拿出别的。

可以看到,可以传入其它条件获取指定类型的对象。

 

应用:

1. 选择最优策略

可以将所有的策略执行过程(函数)都放到一个类中,通过inspect获取到所有的函数,每个都执行一遍,获取结果,选出最优的结果,

这样可以让代码可读性更高。

2. 多条件过滤

可以将多个过滤方法写到一个类中,通过inspect获取到所有的函数,每个都执行一遍,一行代码即可实现多个过滤条件。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值