【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解释器会自己把实例变量传进去。