原因:你在定义函数的时候加了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