先来介绍一下python的__call__函数,call的作用是什么呢?举个例子来说明一下:
>>> class A(object):
... def __init__(self):
... print 'a'
... def __call__(self):
... print 'call'
...
>>> a=A()
a
>>> a()
call
据说a()这么使用的时候相当于执行a.__call__(),我们暂且这么理解,具体原因请参考专业文档,这里看可能a()没啥用,请继续向后看。
接下来,说一下类的type,
>>> class B:
... def __init__(self):
... print 'b'
...
>>> b=B()
b
>>> type(B)
<type 'classobj'>
>>> B
<class __main__.B at 0x7fdf94c086b0>
>>> type(b)
<type 'instance'>
>>> type(type(B))
<type 'type'>
>>> B
<class __main__.B at 0x7fdf94c086b0>
由上面例子可以看出类,实例的数据类型。
之后用