-
全局变量是定义在函数外部以及代码的变量,全局能用。
-
局部变量就是定义在函数里的变量,只能在局部生效。
- 在函数内部,可以引用全局变量。
- 如果全局和局部都有一个名字相同的变量,在函数内会优先调用函数内的局部变量。
- 程序运行结束,所有的局部变量都会被清空。
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;字符串、数字不能修改。