【_init_()】
说明:这是一个构造方法,一般用于直接初始化一个对象,同时对立面的参数进行赋值,后面调用内部方法可以直接通过获取其值
在实验二部分更改为cb=Callback(),则运行会有报错
TypeError: __init__() missing 1 required positional argument: 'data'
说明,在_init_()定义的构造方法中,我们对对象类进行实例化的时候(其实python中实例化对象和初始化一起,其中_init_()方法中的self参数,就是在实例初始化后会通过self传递进入进行初始化属性参数),必须同时传递相应构造方法参数进行初始化其属性值。
扩展:self总是指调用时的类的实例。
【_call_()】
说明:可以将它们作为输入传递到其他的函数/方法中并调用他们,正如我们调用一个正常的函数那样,类中__call__()函数的意义正在于此。
其和_init_()方法区别
__init__()的作用是初始化某个类的一个实例。
__call__()的作用是使实例能够像函数一样被调用,同时不影响实例本身的生命周期(__call__()不影响一个实例的构造和析构)。但是__call__()可以用来改变实例的内部成员的值。
_call_方法的存在,让实例可以让类似函数方法那样被直接使用,但是有个前提就是必须这个类是实例化了的,在Python实际使用中必须先实例化对象
【_new_()】
说明:__new__()创建和返回一个新的对象。通俗说:是用来创建实例对象的。Python中存在于类中的构造方法__init__()负责将类实例化,而在__init__()执行之前,__new__()负责制造这样的一个实例对象,以便__init__()去让该实例对象更加的丰富(为其添加属性等)。
【_set_()】
说明:调用以将所有者类的实例instance设置为一个新值value.,调用相关属性时触发
【_get_()】
说明:调用相关属性时触发
【_delete_()】
说明:调用以删除所有者类的实例的属性
领取专属 10元无门槛券
私享最新 技术干货