原因:你在定義函數的時候加了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