局部变量
在我们定义函数的过程中,函数内外具有相同名称的变量是没有任何关系的。变量的名称对于函数来说是局部的,而它所在的代码块就是它的作用域。
使用局部变量
#局部变量 def func(x): print('x is',x) x = 2 print('Changed local x to',x) x = 5 func(x) print('x is still',x)
运行结果
使用global语句
如果想要在函数中为函数外的变量赋值,我们就要声明这个变量是全局的。
但是要尽量避免这么做,这样会使你的代码模糊。
#全局变量global #global定义的变量是全局的并且定义在函数内的变量可以为在函数外的变量赋值 def func(): global x print('x is',x) x = 2 print('Changed local x to',x) x = 50 func() print('Value of x is',x)
运行结果
前三行是局部变量,后三行是全局变量,可以看出明显的区别就是,局部变量无论你怎么改变它都不影响除了它代码块以外的变量值,而全局变量在函数内的变量的改变,其他作用域的变量值也会发生改变。