小编给大家分享一下python中 __call__方法如何实现函数的调用,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!
说明
1、调用被overload装饰的函数时,都会调用Function类中的__call__方法。
2、要使__call__方法从命名空间的get函数中获得正确的函数并进行调用。
实例
def __call__(self, *args, **kwargs): """重写能让类的实例变可调用对象的__call__方法""" # 依据参数,从虚拟命名空间中获取将要调用的函数 fn = Namespace.get_instance().get(self.fn, *args) if not fn: raise Exception("no matching function found.") # 调用被封装的函数,并返回调用的结果 return fn(*args, **kwargs)
该方法从虚拟命名空间中获得正确的函数。如果没有找到任何函数,它一个Exception。如果找到,它会调用函数并返回调用结果。
看完了这篇文章,相信你对“python中 __call__方法如何实现函数的调用”有了一定的了解,如果想了解更多相关知识,欢迎关注亿速云行业资讯频道,感谢各位的阅读!
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。