Python可调用对象__call__方法的用法分析
前言
最近有许多朋友私信问我,Python的可调用对象到底有什么用处,为什么要费事的重载括号而不是直接绑定类的普通方法。下面就来为大家分享__call__可调用对象的一些感悟。
精简代码,方便接口调用的“约定俗成”
class test(type): passclass test1(test): def __call__(self): print "I am in call"class test2(object): __metaclass__=test1t=test2()#I am in calltest2是test1的实例。因为test1是元类。在实例绑定元类的时候,__call__会调用
大家可以交流讨论下,看看还有哪些设计模式可以应用于此,我会补充的