作用域,局部和全局变量
全局与局部变量
在子程序中定义的变量称为局部变量,在程序的一开始定义的变量称为全局变量。
全局变量作用域是整个程序,局部变量作用域是定义该变量的子程序。
当全局变量与局部变量同名时:
在定义局部变量的子程序内,局部变量起作用;在其它地方全局变量起作用。
局部变量只在一个函数内生效。在函数内部定义的不会再其他函数生效。
如果把局部变量加上global.可以变成全局变量。(global 变量名)不建议使用。容易逻辑混乱。
函数对局部变量是一个作用域。
全局变量:在整个代码的顶层定义的变量,所有的函数都可以使用的变量
局部变量和全局变量同名时,函数以局部变量优先。函数外以全局变量为准
字符串,整数这些类型局部变量不能改全局变量,其他的字典,列表,集合类型的局部变量可以改全局变量。
names=['lhl','nan','gz']
def change-name():
names[0]='shuangge'
print(names)
change-name()
print(names)