python当中函数中的变量和全局变量

在一个函数外有一个变量,如何在函数中调用该全局变量:

1.不可变数据类型,则需要在函数中用到关键字global

a ="222"
def func():
    global a 
    a += "111"
    
print(a) # 222
func()   #  
print(a)  #  222111

2.不可变数据类型,则可以用关键字global或者不用

a = [11,22]
def run():
    a.append(33)

print(a) #  [11,22]
run()
print(a) # [11,22,33]

3.不可变数据类型,但指向指向了一个新的地方,则必须使用关键字global:

a = [11,22]
def func2():
    b = [33,44]
    a += b

print(a) # [11,22]
func2()
print(a)  #  [11,22,33,44]

注意,在一个函数中对全局变量进行修改,到底是否使用global需要看是否对全局变量的指向进行了修改。如果修改了指向,让全局变量指向了一个新的地方,必须使用global,如果只是修改了指向中的空间中的数据,则不用使用global。

posted on 2023-04-17 22:41  一先生94  阅读(60)  评论(0编辑  收藏  举报

导航