重複の可能性:
Python スコープ規則の簡単な説明
2 つの単純な関数を作成しました。
# coding: utf-8
def test():
var = 1
def print_var():
print var
print_var()
print var
test()
# 1
# 1
def test1():
var = 2
def print_var():
print var
var = 3
print_var()
print var
test1()
# raise Exception
それに比べて、 はのtest1()
後に値を代入しprint var
、例外を発生させます: UnboundLocalError: local variable 'var' referenced before assignment
、私が inner を呼び出した瞬間print var
、 var の値は 2 だと思いますが、間違っていますか?