【报错】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
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章