搜尋

首頁  >  問答  >  主體

python錯誤 __str__() 採用 0 個位置參數,但給了 1 個

# -*- coding:gb2312 -*-
class car:
    # 属性
    
    # 方法
    def __str__():
        print("哈哈哈哈哈哈啊哈")
    
    def move():
        print("车在移动。")
    def Whistle():
        print("车载鸣笛。")

BMW = car()

print(BMW)

提示錯誤:

#google翻譯了一下,說是取0個位置參數,但給1
不太懂這個什麼意思。

扔个三星炸死你扔个三星炸死你2781 天前1980

全部回覆(1)我來回復

  • PHP中文网

    PHP中文网2017-06-15 09:24:17

    class裡面定義的函數, 都需要提供一個self的位置參數, 因為在類別實例化時, 會傳入實例物件, 進而和函數進行綁定, 所以程式碼應該要調整為:

    # -*- coding:gb2312 -*-
    class car:
        # 属性
    
        # 方法
        def __str__(self):
            return ("哈哈哈哈哈哈啊哈")
    
        def move(self):
            print("车在移动。")
    
        def Whistle(self):
            print("车载鸣笛。")
    
    
    BMW = car()
    
    print(BMW)

    對於 methodfunction的關係可以參考我的文章: Python: 函數與方法的差異

    回覆
    0
  • 取消回覆