python全局变量和局部变量-函数的参数传递注意

```

# 在函数外面定义的变量是全局变量,作用域为全局,在函数中定义的是变量是局部的,作用域仅在该函数内部
# 函数中可以访问全局变量,如果函数中定义了与全局变量同名的变量,那么这两个变量虽然
# 同名,但是不是同一个变量,在函数中访问这个变量时使用的是函数中的变量. 函数中可以访问全局变量,但是能不能修改呢?
# 分两种情况:1.如果这个全局变量是可变类型,比如列表,字典等,在函数中可以修改,如果是不可变类型,如字符串,那么在函数中不可以直接
# 修改,需要加global关键字声明这个变量是全局变量
# python函数的参数传递是值传递, 实参变量是把值传递给形参接收, 理论上来说形参中如果修改了值以后不会影响到外面的实参变量,
# 但是要分情况:如果实参变量是可变类型,虽然是值传递,但是形参是引用了实参变量的值,所以这种情况下,修改形参后,外面的实参变量也会跟着变化,
# 但是如果如果对形参重新赋值,也不会影响到实参变量
# 如果是不可变类型,修改形参不会影响到实参

```

猜你喜欢

转载自blog.51cto.com/13560219/2668426