冒泡泡de可乐
代码都是思想和概念的体现~每多学一点知识,就能少写一行代码~

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

全局变量:在整个程序里面都生效的,在程序最前面定义的都是全局变量,全局变量如果要在函数中修改的话,需要加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

 

posted on 2018-09-10 22:07  HathawayLee  阅读(170)  评论(0编辑  收藏  举报