python3 有关getattr() 函数的用法

1: getattr() 函数官方定义:

getattr(objectname[, default])

返回对象命名属性的值。name 必须是字符串。如果该字符串是对象的属性之一,则返回该属性的值。例如, getattr(x, 'foobar') 等同于 x.foobar。如果指定的属性不存在,且提供了 default 值,则返回它,否则触发 AttributeError
官方函数文档: https://docs.python.org/zh-cn/3.6/library/functions.html#getattr

 

代码示例:

class Example:

   @classmethod
   def kline(cls, symbol, klinetype, params={}):
        # check_symbol(symbol) # 函数自定义验证函数 忽略
        klinetype_dict = {'1h':'60min','1d':'1day'}
        klinetype = klinetype_dict[klinetype]
        func = cls().check_kline_symbol(symbol) # 这里是根据参数的类型,返回需要调用的函数方法
        return getattr(cls(), func)(symbol, klinetype, params={})  

    

    # 检查kline symbols 属于哪一种
    def check_kline_symbol(self,symbol):
        if '-' in symbol:
            return '_swap_kline'
        if 'CW' in symbol or 'NW' in symbol or 'CQ' in symbol:
            return '_futures_kline'
        if '_' in symbol and 'CW' not in symbol or 'NW' not in symbol or 'CQ' not in symbol:
            return '_spot_kline'

         def _swap_kline(self, symbol, klinetype, params={}):

                 pass  # 处理自己的逻辑

ExportClass = Example
if __name__ == '__main__':
     e = ExportClass()
     print(e.kline('XRP-USD', '1h')) # swap

 

说明: 自己编写代码过程中用到的知识点, 可能会减少一定的代码量,

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值