gpt4 book ai didi

python - 什么是 "callable"?

转载 作者:IT老高 更新时间:2023-10-28 12:09:01 29 4
gpt4 key购买 nike

现在很清楚了what a metaclass is ,有一个相关的概念,我一直在使用,但不知道它的真正含义。

我想每个人都犯了一次括号错误,导致“对象不可调用”异常。更何况,使用 __init____new__ 会让人想知道这个该死的 __call__ 可以用来做什么。

你能给我一些解释,包括魔术方法的例子吗?

最佳答案

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

built-in callable (PyCallable_Check in objects.c)检查参数是否为:

  • 具有 __call__ 方法的类的实例或
  • 是具有非空tp_call(c struct)成员的类型,该成员表示可调用性(例如在函数、方法等中)

名为__call__的方法是(according to the documentation)

Called when the instance is ''called'' as a function

示例

class Foo:
def __call__(self):
print 'called'

foo_instance = Foo()
foo_instance() #this is calling the __call__ method

关于python - 什么是 "callable"?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/111234/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com