From a84908b7e8a0e2423afd6b836eccf27a420270b4 Mon Sep 17 00:00:00 2001
From: nsfisis
def f():
+ def f():
x = 0
def g():
x += 1
@@ -95,7 +95,7 @@ f()
local変数 x が代入前に参照された、とある。これは、f の x を参照するのではなく、新しく別の変数を g 内に作ってしまっているため。 前述のコードを宣言と代入を便宜上分けて書き直すと次のようになる。var を変数宣言のための構文として擬似的に利用している。
- # 注: var は正しい Python の文法ではない。上記参照のこと
+ # 注: var は正しい Python の文法ではない。上記参照のこと
def f():
var x # f の local変数 'x' を宣言
x = 0 # x に 0 を代入
@@ -110,7 +110,7 @@ f()
当初の意図を表現するには、次のように書けばよい。
- def f():
+ def f():
x = 0
def g():
nonlocal x ## (*)
--
cgit v1.2.3-70-g09d2