读书人

python 中间类的实例也能当函数使?靠

发布时间: 2013-01-17 10:28:54 作者: rapoo

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

def __call__( self, *args ):    ....



顿时领悟了,添加了这个方法后,实例就可以像函数一样使用了,有点像Javascript, 模糊了class和function的界限,不过python这里使用明确的__call__ 才跨越此界限

读书人网 >perl python

热点推荐