HathawayLee

局部变量:在局部生效的,出了这个变量的作用域,这个变量就失效了。函数内部定义的变量就是局部变量,函数运行完就释放该变量内存

全局变量:在整个程序里面都生效的,在程序最前面定义的都是全局变量,全局变量如果要在函数中修改的话,需要加global关键字声明,如果是list、字典和集合的话,则不需要加global关键字,直接就可以修改 。

      尽量少用全局变量,原因:1、若全局变量被修改,影响较大;2、全局变量在python文件运行完才会释放,占内存

name =\'wangchan\' #全局变量 每个函数里面都能用
def get_name():
    global name     #说明要改的是全局变量(string和元组需要声明,list、dic不用)  尽量少用全局变量
    name =\'hailong\'  #局部变量--在函数内部定义的变量   只能在该函数中用
    print(\'函数里面的name:\',name)

def get_name2():
    print(\'get_name2:\',name)
get_name2()   #wangchan
get_name()    #hailong
print(\'函数外面的name:\',name)   #hailong
1 def test():
2     global a
3     a=5
4 def test1():
5     c=a+5
6     return c
7 
8 res=test1()
9 print(res)  #报错(NameError: name \'a\' is not defined),因为test()函数没有执行,a还没有定义
 1  def test():
 2       global a
 3       a=5
 4  def test1():
 5       c=a+5
 6       return c
 7   
 8  test()   #test()执行过程中定义了全局变量a
 9 res=test1()
10  print(res)  #10

 

分类:

技术点:

相关文章: