作用域,局部和全局变量

全局与局部变量

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