2017-10-06 11 views
1
def func1(): 
    x = 100 
    john = 'hello' 
    return x, john 

def func2(): 
    func1() 
    y = x 
    return y 

print(func2()) 

を使用すると、これはエラーを返します:は、別の関数の中に関数を呼び出すとその変数

NameError: name 'x' is not defined 

誰かがfunc2の中で関数func1の変数を使用し、func2の作業ではfunc1を呼び出す方法を説明する方法を説明することができます。

+0

func1はfunc1()でのみ使用できるので、func2ではxを使用できません。関数内でローカルに定義する変数は、他の変数にはアクセスできません。 Xは他の関数で使用される静的変数でなければなりません。関数の外側にxを定義します。 – answerSeeker

答えて

1
def func1(): 
    x = 100 
    john = 'hello' 
    return x, john 

def func2(): 
    x, john = func1() 
    y = x 
    return y 

print(func2()) 

xjohnように)関数func1に対してローカルです。しかし、それは関数の戻り値の1つです。だからそれを使用してください!

1
def func1(): 
    x = 100 
    john = 'hello' 
    return x, john 

def func2(): 
    x,john=func1() 
    y = x 
    return y 

print(func2()) 

func1から2つの変数を返す場合、func1の結果も他の変数に渡す必要があります。

関連する問題