-
- 全局变量是定义在函数外部以及代码的变量,全局能用。
- 局部变量就是定义在函数里的变量,只能在局部生效。
- 在函数内部,可以引用全局变量。
- 如果全局和局部都有一个名字相同的变量,在函数内会优先调用函数内的局部变量。
- 程序运行结束,所有的局部变量都会被清空。
name = 'black girl' def change_name(): name = '黑色的姑娘' #局部变量 print('在',name,'里面...') change_name() print(name)
- 在函数内部修改全局变量
name = 'black girl' def change_name(): global name #相当于引入全局变量,进行声明 name = '黑色的姑娘' #此时可以对全局变量进行修改 print('在',name,'里面...') change_name() print(name)
- 在函数里修改列表数据
names = ['alex','black girl','peiqi'] def change_name(): names=['Alex','PeiQi] #不能对列表进行修改 del names[2] names[1] = 'Black girl' print(names) change_name() print(names)
- 列表本身有一个内存地址,而列表中的每个元素还各有各的内存地址。列表本身的内存地址是不能修改的,但是列表中的元素是可以修改的。
- 故,列表不能赋值,但可以进行修改。
- 字典,列表,集合,对象,类,元组都是一样的,如果非要修改就global;字符串、数字不能修改。