方法的多种调用方式
方法调用确实我们每个人都会,但是我觉得大家可能用的最多的就是那种常规的方式,这里呢,我要记录一下另外几种方式
1 from operator import attrgetter 2 from operator import methodcaller 3 4 5 class Valley: 6 def func(self): 7 print("测试方法") 8 9 10 if __name__ == '__main__': 11 v = Valley() 12 # 除了最常规的方式(绑定方法、非绑定方法)调用方法以外 13 # one 14 getattr(v, "func").__call__() 15 # two 16 attrgetter("func")(v).__call__() 17 # three 18 methodcaller("func")(v)
这三种方式无非就是在指定对象中先寻找属性,然后再调用
第三种方式不同的是,他会自动返回一个callable_obj,其他则需要手动