前提・実現したいこと
- 番号リストPythonにて、クラス内のメソッドから、同一クラス内の別のメソッドを呼び出したい
- main関数内で、クラス内にあるメソッド名と引数を指定してメソッドを実行させたい
該当のソースコード
test.py
Python
1#! python3 2class Cls: 3 def func(hoge, *args): 4 try: 5 ret = hoge(*args) 6 except Exception as e: 7 return e 8 return ret #ここでdiv(a,b)メソッド、add(a,b)メソッドを実行させたい 9 10 def div(a,b): 11 return a/b 12 13 def add(a,b): 14 return a+b 15 16def main(): 17 c = Cls() 18 a = 10 19 b = 2 20 c = c.func(div, a, b) # div を 10 と 2 で呼ぶと 5が返りcに入る 21 d = c.func(add, a, b) # add を 10 と 2 で呼ぶと 12が返りdに入る 22 print(c) 23 print(d) 24 25if __name__ == "__main__": 26 main()
実行結果
$python .\test.py Traceback (most recent call last): File ".\test.py", line 25, in <module> main() File ".\test.py", line 19, in main c = x.func(div, a, b) # div を 10 と 2 で呼ぶと 5が返りcに入る NameError: name 'div' is not defined
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。