关于全部变量和局部变量作用域

1  def ff():
2      a=1
3      sum=a+b
4      print(sum)
5  b=1
6  print(b)
7  ff()
8  print('函数外的b',b)

这段代码可以正常运行。因为b定义在函数外,是一个全局变量。sum=a+b时直接引用b的值

1 b=1
2 def ff():
3     b+=1
4     print(b)
5 
6 print(b)
7 ff()
8 print('函数外的b',b)

这段代码会报错。因为函数内的变量b相对于函数外的b是一个新的变量,只是名称刚好一样而已。而函数内的b没有先赋值就引用了,所以会报错。

posted @ 2018-09-30 14:42  zz测试  阅读(186)  评论(0)    收藏  举报