#!/usr/bin/python3
def func():
a = 1
print(a+12)
print(a)
結果は次のとおりです。
NameError: 名前 'a' が定義されていません
関数の外で使用することは可能ですか?
#!/usr/bin/python3
def func():
a = 1
print(a+12)
print(a)
結果は次のとおりです。
NameError: 名前 'a' が定義されていません
関数の外で使用することは可能ですか?
return
ステートメントを使用して、より高いスコープに値を渡すことができます。
def func():
a = 1
print(a+12)
return a
a = func()
print(a)
結果:
13
1
値は、変数が関数内で持っていた名前にバインドされていないことに注意してください。必要なものに割り当てることも、別の式で直接使用することもできます。
def func():
a = 1
print(a+12)
return a
func()
print(a) #this will not work. `a` is not bound to anything in this scope.
x = func()
print(x) #this will work
print(func()) #this also works
変数「a」のスコープが関数 func() 内に制限されているため、できないと思います。外部で定義した場合、関数の外部で「a」変数を呼び出すことができます。あなたが(私のような)pythonの初心者なら、これを使ってください。それは私を助けました
PS: 私も Python の初心者なので、間違っているかもしれません。