_init_()和_call_()

_init_()相当于类的构造器

_call_():

​ Python中的函数是一级对象,也就是说函数的引用可以作为输入传递到其他函数中去。

​ 而类的实例也可以被当作函数对待,也可以作为输入传递到其他函数中取。

​ call的意义就在此:

​ 当一个类实例作为函数调用时,定义call方法就对被调用。x._call_(aa)等同于x(aa)

emmmmm init返回的是实例,call返回的是函数返回值。

例子:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
class A:
	def __init__(self):
		print("init")
	def __call__(self):
		print("call")

a = A()
a()

##out
init
call
[Finished in 0.1s]