def test(name):
print "name:", name
func = test
func("testing") # it works, as I know that the function test accepts one parameter.
私の質問は、「test」がシナリオに応じてさまざまな数の引数を持ち、「func」が渡す引数の数とそれらの引数の名前をどのように知っているかです。
よくわからない場合は申し訳ありません。これにより、シナリオがより明確になります。
関数ディスパッチャがあります。
testcase_obj = testcase() # A object of a class
if command.startswith("test1"):
output = exec_test1()
elif command.startswith("do_test"):
output = exec_do_test(testcase_obj)
ここで、スクリプトの実行中にユーザーがオプションを送信するたびに関数をラップしたいと考えています。上記のコードを次のように変更しました。
testcase_obj = testcase() # A object of a class
if command.startswith("test1"):
func = exec_test1() # Mistake, this should be func = exec_test1
elif command.startswith("do_test"):
func = exec_do_test(testcase_obj) # I don't know how assign exec_do_test along
# with its parameter to 'func'. I don't want to
# to call exec_to_test.
if option_given:
func = wrapper_func(func)
output = func() # At this point I don't how many parameters that "func" takes.