hasattr 方法

判断当前实例中是否有着字符串能映射到的属性或者方法, 一般会在  getattr 之前作为判断防止报错

getattr 方法

获取到当前实例中传入字符串映射到的属性或者方法

示例

class A(object):
    def run(self):
        return "run"


a = A()

print hasattr(a, "run")         # True
print getattr(a, "run")         # <bound method A.run of <__main__.A object at 0x0000000002A57160>>
print getattr(a, "run")()       # run

方式2 - operator 模块

methodcaller 方法

参数

传入两个参数, 分别为字符串表示映射的方法, 另一个参数为此方法的运行参数,

返回值

返回一个 字符串映射到的方法实例

示例

import operator


class A(object):
    def run(self):
        return "run"

    def eat(self, s):
        return s + ": eat"


a = A()

print operator.methodcaller("run")  # <operator.methodcaller object at 0x0000000002ADAC08>
print operator.methodcaller("run")(a)   # run
print operator.methodcaller("eat", "yangtuo")(a)    # yangtuo: eat

 

相关文章:

  • 2021-11-03
  • 2021-06-07
  • 2021-05-18
  • 2021-11-28
  • 2021-08-25
  • 2021-08-08
  • 2022-12-23
  • 2021-07-27
猜你喜欢
  • 2022-12-23
  • 2022-12-23
  • 2022-01-05
  • 2021-10-04
  • 2022-01-27
  • 2021-11-16
  • 2021-06-11
相关资源
相似解决方案