我想知道函数和可调用对象之间更复杂的差异.例如,如果你这样做:
def foo1():
return 2 + 4
class foo2:
def __call__():
return 2 + 4
import sys
sys.getsizeof(foo1) # returns 136
sys.getsizeof(foo2) # returns 1016
Run Code Online (Sandbox Code Playgroud)
功能和可调用对象之间显然存在很大差异.但是,我找不到很多关于幕后发生的事情的文档.我知道函数是一流的对象,但我也知道类比常规函数要多得多.class foo2是用元类创建的type().
那么我的问题是:
def foo1():,这与使用元类定义类的过程有何不同?是否有一个版本type()但功能,一个元功能?python ×1