それは明らかにうまくいきます:
def test_A():
magic = str(uuid.uuid4())
def handler(request):
return magic
assert handler(0) == magic
これは「割り当て前に参照されたローカル変数」で失敗しますが、
def test_A():
magic = str(uuid.uuid4())
def handler(request):
magic = magic
return magic
assert handler(0) == magic
2 番目のスニペットでは、それmagic
がローカル変数になり、上のスコープの変数とは独立して操作されると仮定します。
グローバル変数を変更するには として宣言する必要があることはわかってglobal
いますが、ここでやりたいことは、偶然にも同じ名前の独立したローカル変数を作成することです。これはまったく不可能で、ローカル変数に別の名前を選択する必要がありますか?