Python对函数中的变量的处理方式不同,这取决于你是从函数内部还是外部为变量赋值。如果在函数中分配了变量,则默认情况下将其视为局部变量。因此,当你取消对行的注释时,你试图在为其赋值之前引用局部变量c。
如果你希望变量
c引用在函数之前分配的全局
c=3,请输入
global c
作为函数的第一行。
至于python 3,现在有
nonlocal c
可以用来引用最近的包含
c变量的封闭函数范围。

Python对函数中的变量的处理方式不同,这取决于你是从函数内部还是外部为变量赋值。如果在函数中分配了变量,则默认情况下将其视为局部变量。因此,当你取消对行的注释时,你试图在为其赋值之前引用局部变量c。
如果你希望变量
c引用在函数之前分配的全局
c=3,请输入
global c
作为函数的第一行。
至于python 3,现在有
nonlocal c
可以用来引用最近的包含
c变量的封闭函数范围。