__init__(self[,...])
编写神经网络的时候常用。
创建一个类的实例。可以看作是类的构造器。
__init__()的返回值一定是None,不能是其他,否则会报错。
一般需要进行初始化的时候才重写。
__new__(cls[,...])
__new__()其实才是在一个对象实例化的时候所调用的第一个方法,但平时很少重写,一般按照python默认的方案执行就可以了。
__call__(self,*arg)
调用实例。可以把类的实例(对象)当做正常函数调用。
__del__(self)
对象的析构器。
当对象要被销毁的时候,才调用这个函数。
个人觉得也比较少用。
__init__()和__call__()的区别:
1. __init__()的作用是初始化某个类的一个实例。
2. __call__()的作用是使实例能够像函数一样被调用,同样不影响实例本身的生命周期(__call__()不影响一个实例的构造和析构)。但是__call__()可以用来改变实例的内部成员的值。