Python函数的全局变量是定义在函数外部,整个程序内部都可以访问的变量。在函数内部,可以访问全局变量,但如果在函数内部进行变量赋值操作,会创建一个新的局部变量,而不是修改全局变量。
下面是Python函数全局变量的完整攻略:
定义全局变量
在函数之外定义全局变量,可以使用该变量并访问它。如下所示:
count = 0
def add():
global count # 使用global关键字声明全局变量
count += 1
print("Count is ", count)
add()
在这个例子中,通过定义全局变量count
并使用global count
声明它为全局变量,函数add()
可以访问并修改全局变量count
的值。
在函数中访问全局变量
在函数内部可以访问全局变量,但不能修改它。如下所示:
count = 0
def show_count():
print("Count is ", count) # 在函数中访问全局变量
show_count()
在这个例子中,函数show_count()
可以访问全局变量count
的值,但不能修改它。
在函数中修改全局变量
如果需要在函数内部修改全局变量,可以使用global
关键字声明全局变量。如下所示:
count = 0
def add():
global count # 使用global关键字声明全局变量
count += 1
print("Count is ", count)
add()
add()
add()
在这个例子中,函数add()
使用global count
声明全局变量并修改它的值。执行三次add()
函数,全局变量count
的值被依次加1,并输出相应的结果。
在嵌套函数中使用全局变量
如果在嵌套函数中声明全局变量,则需要使用nonlocal
关键字。如下所示:
def outer():
count = 0
def inner():
nonlocal count # 使用nonlocal关键字声明全局变量
count += 1
print("Count is ", count)
inner()
outer()
在这个例子中,函数inner()
使用nonlocal count
声明全局变量count
并修改它。函数outer()
调用函数inner()
并输出结果。
使用global关键字声明多个变量
如果需要声明多个全局变量,可以在global
关键字后跟多个变量名,以逗号分隔。如下例所示:
count1 = 0
count2 = 0
def add():
global count1, count2 # 使用global关键字声明多个全局变量
count1 += 1
count2 += 2
print("Count1 is ", count1)
print("Count2 is ", count2)
add()
add()
在这个例子中,使用global count1, count2
声明全局变量,并在函数add()
中分别对它们进行加法操作。执行两次add()
函数,分别输出count1
和count2
的值。
以上就是Python函数全局变量的完整攻略,希望对你有所帮助。