定义时类带括号是一种class类类型语法糖,它产生的是type实例,生产通俗意义上类的类
class type(object)
| type(object_or_name, bases, dict)
| type(object) -> the object's type
| type(name, bases, dict) -> a new type
Methods defined here:
__call__(self, /, *args, **kwargs)
Call self as a function.
准确来讲,调用__call__ 方法的是实例,即当你将实例当函数使用时,触发它
class A():
pass
上述类A定义时用了括号,产生了一个A类
o = A() #用类模板生成一个实例o
o() # 实例直接当函数使用,调用类定义时的__call__方法逻辑
当使用关键字class,function
定义类或函数时,本质是编译器帮你声明且赋值了一个同类名,函数名相同的类型变量
与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…