【報錯】missing required positional argument: self

原因:你在定義函數的時候加了self,但是你在實例化的時候沒加

def rl(self):
rw= rl()

這樣就接受不到結果了
【解決方法】
把self點後面的變量全部卸載rl函數裏,不再進行外部調用,這樣也就不用self了
在這裏插入圖片描述

現在讓我們簡單瞭解一下Python中self的基礎信息:

self,表示創建的類實例本身,方法內部,就可以把各種屬性綁定到self,因爲self就指向創建的實例本身。在創建實例的時候,就不能傳入空的參數了,必須傳入與方法匹配的參數,但self不需要傳,Python解釋器會自己把實例變量傳進去。***

    def build_q_table(self,n_states, actions):
        table = pd.DataFrame(
            np.zeros((n_states, len(actions))),     # q_table initial values
            columns=actions,    # actions's name
        )
        
        return table# print(table)    # show table

所以定義的時候最好也帶上self,不然會產生傳參錯誤

傳遞參數的問題: __init__() takes 2 positional arguments but 3 were given
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章