温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

python中 __call__方法如何实现函数的调用

发布时间:2021-09-07 14:00:47 来源:亿速云 阅读:358 作者:小新 栏目:编程语言

小编给大家分享一下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__方法如何实现函数的调用”有了一定的了解,如果想了解更多相关知识,欢迎关注亿速云行业资讯频道,感谢各位的阅读!

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI