您的位置:首頁技術文章
文章詳情頁

python錯誤 __str__() Takes 0 positional arguments but 1 was given

瀏覽:96日期:2022-06-28 11:53:51

問題描述

# -*- coding:gb2312 -*-class car: # 屬性# 方法 def __str__():print('哈哈哈哈哈哈啊哈')def move():print('車在移動。') def Whistle():print('車載鳴笛。')BMW = car()print(BMW)

提示錯誤:

python錯誤  __str__() Takes 0 positional arguments but 1 was given

google翻譯了一下,說是取0個位置參數,但給出1不太理解這個什么意思。

問題解答

回答1:

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

# -*- coding:gb2312 -*-class car: # 屬性 # 方法 def __str__(self):return ('哈哈哈哈哈哈啊哈') def move(self):print('車在移動。') def Whistle(self):print('車載鳴笛。')BMW = car()print(BMW)

對于 method 和 function的關系可以參考我的文章: Python: 函數與方法的區別

標簽: Python 編程
相關文章:
国产综合久久一区二区三区