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解釋器會自己把實例變量傳進去。