python __init__ __call__

__call__ 和 __init__半毛钱的关系都没有。

后者是构造类的实例时会调用的方法,并不是构造方法。

前者是在实例上可以呼叫的方法。代码示例如下:

>>> class foo:
	def __init__(self):
		print "init"
	def __call__(self):
		print "call"

 

>>> foo()
init
<__main__.foo instance at 0x0000000002C6EC88>
>>> foo()()
init
call

 

posted @ 2014-11-18 22:27  tommy.yu  阅读(222)  评论(0编辑  收藏  举报