前提・実現したいこと
下のコードのように、python3.8でリストに多数の関数を収納して、そこからランダムに取り出して実行するプログラムを作成したいと考えています。
下のコードはいろいろ試行錯誤してうまく動くのですが、17行目のcul0の引数selfが必要な理由がわかりません。selfがないとエラーになります。
普通にadd()とやるときは引数はいらないのに、リストから取り出した関数を実行するときだけ引数が必要なのは何故なのでしょう?
該当のソースコード
python3.8
1import random as r 2 3class Test: 4 5 num=1 6 7 def add(self): 8 self.num += 1 9 10 def dif(self): 11 self.num -= 1 12 13 cul=[add,dif] 14 15 def rand_cul(self): 16 r.shuffle(self.cul) 17 self.cul[0](self) 18 return self.num
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。