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