关于内嵌函数变量的调用问题
代码如下。第一个可以正常实现,第二个就出现老师所说的问题,但是还是不太能明白,是不是里面的函数是可以调用外面的参数值的,def out ():
x=2
def IN():
y=x*x
return(y)
return IN()
def out ():
x=2
def IN():
x=x*x
return(x)
return IN()
是可以调用,前提是没有同名的变量,第一种就是这个情况
第二种写法中x被认为是内部函数自己重新定义的,而又没有初始化,所以报错 BngThea 发表于 2018-1-26 14:45
是可以调用,前提是没有同名的变量,第一种就是这个情况
第二种写法中x被认为是内部函数自己重新定义的, ...
没有初始化的意思就是变量名是x而后面赋值内容也是含有x的是吧!初始化是不是就像x=2这种被重新定义了, 大麦miracle 发表于 2018-1-26 15:07
没有初始化的意思就是变量名是x而后面赋值内容也是含有x的是吧!初始化是不是就像x=2这种被重新定义了,
有赋值号的情况下认为是被重新定义
其实x=x*x相当于用自己去初始化自己,这当然是不允许的,你抛开这个程序,直接这样写就不对
页:
[1]