2016-04-10 21 views
-3

プログラム内の別の関数から変数にアクセスできるようにする必要があります。これはプログラミングの面では何も重要ではありませんが、知識を増やすために知る必要があることです。 s()return va()コールが意図せずにスワップされると仮定すると他の関数の変数へのアクセス

def s(): 
    v = 6 + 4 
    a() 
    return v 

def a(): 
    ace = v + 4 
    print(ace) 

s() 
+0

'' s() ''では、おそらく '' return v''と '' a() ''の文を入れ替えたでしょう。 '' a() ''は、呼び出しの前に '' s() ''が返すときに呼び出されることはありません。 – zegkljan

+0

あなたは何をしようとしていますか?なぜあなたは 's'の中で' a'を呼び出す前に '戻る'をしますか? – styvane

答えて

0

あなたの必要な変数をパラメータとして渡すだけです!また、を実行する前リターンにあなたのプログラムを引き起こすリターンを持っています。 例...

def s(): 
    v = 6 + 4 
    a(v) 

def a(v): 
    ace = v + 4 
    print(ace) 

s() 

あなたがリターンを使用したい場合、あなたは別のパラメータとして1つのメソッドを呼び出すことができます。これにより、両方のメソッドを互いに独立して使用できるようになりますが、非常に乱雑になることがあります。

def s(): 
    v = 6 + 4 
    return v 

def a(v): 
    ace = v + 4 
    print(ace) 

a(s()) 

これは役立ちます。

+0

def a(v、word、position)などの関数に沿って複数の変数を渡すことができますか? –

+0

はい、同じ量のパラメータが渡されることを指定している限り、関数に多くの変数を渡すことができます。これはLambdas、* args、** kwargsを使用しているときに変更されますが、もう一度そのままにしておいてください! – TheLazyScripter

+0

ご協力ありがとうございます –

0

、あなたはglobalステートメントを使用することができます。

def s(): 
    global v 
    v = 6 + 4 
    a() 
    return v 

def a(): 
    ace = v + 4 
    print(ace) 

s() 

出力:あなたがAを起動する予定がある場合

14 
関連する問題