为了账号安全,请及时绑定邮箱和手机立即绑定

什么是“可调用”?

什么是“可调用”?

慕神8447489 2019-06-19 15:34:13
什么是“可调用”?现在清楚了什么是元类,有一个相关的概念,我一直在使用,不知道它的真正含义。我想每个人都犯过一次括号错误,导致了“Object不是可调用的”异常。更重要的是,使用__init__和__new__让人好奇这该死的是什么__call__可以用来。你能给我一些解释吗,包括魔术法的例子?
查看完整描述

3 回答

?
慕斯王

TA贡献1864条经验 获得超2个赞

可调用是任何可以调用的东西。

这个内建可赎回(PyCallable_签入objects.c)检查参数是否为:

  • 类的实例。

    _呼叫_

    方法或
  • 是具有非空值的类型。

    TP调用

    (C Struct)以其他方式表示可调用性的成员(如函数、方法等)

名为_呼叫_是(根据文件)

当实例作为函数被“调用”时调用

class Foo:
  def __call__(self):
    print 'called'foo_instance = Foo()foo_instance() #this is calling the __call__ method


查看完整回答
反对 回复 2019-06-19
  • 3 回答
  • 0 关注
  • 626 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信