fjqzyc 发表于 2017-5-5 12:59:02

python 当中类的实例也能当函数使?靠__call__!(

python当中的一个class A的实例a1,经常看到有的源代码写成h = a1(), 这时候并不是调用A的构造函数,但是a1是个实例,怎么能够call呢,后来看了源代码发现,class A当中有这么一句
def __call__( self, *args ):
....

顿时领悟了,添加了这个方法后,实例就可以像函数一样使用了,有点像Javascript, 模糊了class和function的界限,不过python这里使用明确的__call__ 才跨越此界限
页: [1]
查看完整版本: python 当中类的实例也能当函数使?靠__call__!(