2017-01-29 15 views
0

私はPythonを学び、最初の関数から値を返すと、次の関数に複数の値を送る方法を理解するのに苦労していますか? また、複数の関数を呼び出すには、main()をPythonで使用する必要がありますか?Pythonのある関数から別の関数に値を渡す

次のコードでは、acc_nameとrg_nameの両方を関数stop()に渡したいと考えています。

私は次のような単純化されたコードを使用しています。ロジックが期待通りに機能するため、コードのワークフローを理解したいだけです。

def handle(event, context): 
     #code logic 
     return acc_name, rg_name 
    def stop(acc_name, rg_name): 
     #code logic 
    return sg_id 

OR

def handle(event, context): 
     #code logic 
     return acc_name, rg_name 
    def stop(x,y): 
     #code logic 
    return sg_id 

    def main(): 
     x,y = handle(event, context) 
     stop(x,y) 

私は、Pythonにnewbiewよ、私のコードは、コンセプトから矛盾している可能性があります。 Python 2.7の使用

助けていただければ幸いです。 ありがとうございます

+0

あなたが最初のチャンクで 'stop'呼び出すことはありません。 – Carcigenicate

+0

正確に2番目のチャンクの問題は何ですか?それはあなたが望むことをするようです。 –

+0

また、あなたがここで何を尋ねているのかは不明です。私はここでmainについて1つの質問しか見ることができません。そして、あなたが "mainが使われていない"ということが何であるかは不明です。 – Carcigenicate

答えて

1

私はあなたがスニペット2のように2つの関数呼び出しの間に引数を格納せずに、functionAからfunctionBに複数の引数を渡す方法を想定しています。だから、避ける方法:

x, y = functionA() 
functionB(x, y) 

あなたは引数here's the docs for the featureをアンパックすることで行うことができます。この。あなたは呼び出すことで、この操作を行います。

functionB(*functionA()) 

またはあなたの場合:

stop(*handle(event, context)) 
+0

@ user1725651これは便利なショートカットですが、あなたのコードはより長く、より明示的な形で読みやすくなっています。簡潔!=多くの場合、より読みやすい。両方を試し、より良いものを見てください。 – Carcigenicate

+0

@Carcigenicate、私はそれをメモします、ありがとう – user1725651