我正在尝试了解有关python及其工作原理的更多信息
如果我们想在python中声明一个函数。我们这样做
def bar():
print("my great bar function")
bar()
我被告知在python的引擎盖下,这对应于
class bar():
def __call__(self, *args, **kwargs):
print("my great bar function ")
a =bar()
a()
但是class bar()
只是
bar = type("bar",(object,),{"__call__":Placeholder_for_source_code})
a= bar()
a()
我正在尝试将类型正文中的Placeholder_for_source_code替换为用于打印“my great bar function”的源代码。当我检查bar.__dict__['__call__']
当我检查上面的班级栏时我回来的是<function bar.__call__ at 0x00000000035B37B8>
有人可以告诉我这是如何工作的。