全局变量在第一层级,作用于整个代码块;局部变量只作用于所在函数域;局部变量变成全局变量需声明global(不建议使用,不便于复杂程序调试);
school ="Oldboy edu."#全局变量 def change_name(name): global school #将函数中的局部变量改成全局变量 school="Mage Linux"#局部变量 print("before change",name,school) name ="Alex li"#局部变量,只在函数中生效,这个函数(change_name)就是这个变量(name)的作用域 print("after change",name) name = 'alex' change_name(name) print(name,school)
注释掉全部代码:ctrl+?
school ="oldboy edu." names =["alex","jack","Rain"] def change_name(): names[0] ="金角大王"#列表、字典、集合和类都可以在局部变量中改,字符串和整数不能改 print("inside func",names) change_name() print(names)