【E-01】takes 3 positional arguments but 4 were given错误

takes 3 positional arguments but 4 were given错误

1、参数错误,两边参数不一致导致,需要3个,当时传了4个;

2、__init__(self):写错了,注意检查;

3、定义时需要添加self参数。

但是!为何Python给self赋值而你不必给self赋值?

创建了一个类MyClass,实例化MyClass得到了MyObject这个对象,

然后调用这个对象的方法MyObject.method(arg1,arg2),

这个过程中Python会自动转为Myclass.mehod(MyObject,arg1,arg2)。

说明

self,表示创建的类实例本身,方法内部,就可以把各种属性绑定到self,因为self就指向创建的实例本身。在创建实例的时候,就不能传入空的参数了,必须传入与方法匹配的参数,但self不需要传,Python解释器会自己把实例变量传进去。

相关推荐