首先明确的是self只有在类的方法中才会有,独立的函数或方法是不必带有self的。self在定义类的方法时是必须有的,虽然在调用时不必传入相应的参数。
__init__中self有一部分是从外面传来的参数,需要实例化时就传入
类中self带的参数相当于类的属性,没带的是局部变量,可能是类的局部变量,也可能是类中方法的局部变量。这些局部变量是不能通过实例去访问的,只有带self的参数即类的属性才可以访问。
类中的方法,带self的是类方法,不带self是 。实例只能访问类中的类方法,不能访问这些其他函数。
在一个类中定义函数时,如果你要使用另外一个函数或者另外一个函数中的参数,都必须带self,即类方法或者属性,当然还可以是一个全局的局部变量
vgg16类继承fasterRCNN类
类中,无论是__init__中,还是在其他成员函数中,只要带self的就是这个类的成员变量(成员变量只能通过类的实例去访问),只是说在__init__中的进行了初始化。实质上无论是__init__还是其他成员函数,其实都是类的成员函数,实质上是一样的,只是__init__的功能特殊,他的功能是用来初始化。