python(10)——局部变量、全局变量

2021-07-03 08:07

阅读:681

标签:turn   error   color   oba   pre   nbsp   global   失效   不用   

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

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

 

python(10)——局部变量、全局变量

标签:turn   error   color   oba   pre   nbsp   global   失效   不用   

原文地址:https://www.cnblogs.com/HathawayLee/p/9623470.html


评论


亲,登录后才可以留言!