Python中的getattr()函数 (一)

python的getattr内置函数简直太强大了,它提供了从函数名字符串到函数引用的映射,实现机制为字符串和函数的松耦合。这有什么好处呢?

例如有一个功能需求是温度转换,即通过得到的传感器类型调用相应的温度转换函数,若是用python的话那就相当容易和简洁了,例如tempConvert模块定义了光纤传感器和无线传感器温度转换函数为convert_fiber和convert_wireless。

import tempConvert
def convert(primalData, sensortype="fiber"):
processFunc = getattr(tempConvert, "convert_%s" % sensortype)
return processFunc(primalData)

这样每添加一种类型的传感器,只要在temConvert模块中定义一个相应的转换函数就行了。相较之下C/C++就麻烦许多了,无法从字符串获取到该函数指针/引用。


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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值