全局变量 局部变量
全局变量 大写 局部变量 小写 1、函数内部的变量名如果第一次出现,且出现在=前面,即被视为定义一个局部变量,不管全局域中有没有用到该变量名,函数中使用的将是局部变量,例如: num = 100 def func(): num = 123 print(num) func() #输出: 123 说明函数中定义的num是一个局部变量,会将全局变量覆盖。再例如: num = 100 def func(): num += 100 print(num) func() #输出: UnboundLocalError: local variable 'num' referenced before assignment 错误提示局部变量num在赋值前被应用,也就是该变量没有定义就使用它,由此再次证明了这里定义了一个局部变量,而不是使用的全局的num。 总结:函数内部的变量名如果第一次出现,且出现在=前面,即被视为定义一个局部变量。 Python makes educated guesses on whether variables are local or global. It assumes that any variable assigned a value in a function is local. From: https://www.tutorialspoint.com/python