回答編集履歴
1
追記された情報に対応しました。
answer
CHANGED
@@ -2,7 +2,11 @@
|
|
2
2
|
|
3
3
|
ただし、pythonでは関数そのものを引数に渡すことができるので、「関数名を渡す」ではなく、「関数を渡す」という形ですが。
|
4
4
|
|
5
|
+
【追記に対応】
|
6
|
+
追記された内容には「プログラム内に存在する関数の関数名(div,add等)をfunc関数に渡し、func関数内にて、「渡された関数名(div,add等)」と同じ名前の関数(div()関数, add()関数等)を実行したい」とありますが、このとおりの事がちゃんとできますよ。
|
7
|
+
参考までにadd関数を追加してみます。
|
5
8
|
|
9
|
+
|
6
10
|
``` python
|
7
11
|
def func(hoge, *args):
|
8
12
|
try:
|
@@ -14,6 +18,17 @@
|
|
14
18
|
def div(a,b):
|
15
19
|
return a/b
|
16
20
|
|
21
|
+
def add(a,b):
|
22
|
+
return a+b
|
23
|
+
|
17
24
|
def main():
|
25
|
+
a = 10
|
26
|
+
b = 2
|
18
|
-
c = func(div, a,b) #
|
27
|
+
c = func(div, a, b) # div を 10 と 2 で呼ぶと 5が返りcに入る
|
28
|
+
d = func(add, a, b) # add を 10 と 2 で呼ぶと 12が返りdに入る
|
29
|
+
|
19
|
-
```
|
30
|
+
```
|
31
|
+
|
32
|
+
だだ、もし、どうしても ` func(div(a, b))` の様に呼び出したいということだとすると、それは、pythonの構文上できないはなしになります。
|
33
|
+
|
34
|
+
これでどうですかね?
|