
python中,如图,为啥上面?处是错误的?
1个回答
展开全部
因为上面的“x+=x”相当于在f2()函数中通过操作变量x得到变量x。
然而,f2()函数属于函数f1(),那么对于f2()函数来说,f1()函数中的变量也相当于f2()函数的全局变量,因此,f1()函数的变量x,就是相对于f2()函数的“全局变量”。
在Python中,您无法通过全局变量创建一个同名的局部变量。您可以尝试在f1()函数的第一行加入如下代码:
i=i*2
也会出现同样的错误,因为对于f1()函数来说,变量i已经是全局变量,无法通过全局变量创建一个同名的局部变量。
总的来说就是同名的全局和局部变量的操作,不能够冲突,否则Python解释器无法辨别和赋值变量。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询