Python函数:全局变量和局部变量的作用域
发布时间:2023-12-03 19:47:31
在Python中,变量的作用域分为全局变量和局部变量。
全局变量指的是在函数外部定义的变量,它可以在整个程序的任何地方被访问和修改。全局变量在程序开始执行时被创建,在程序结束时销毁。
局部变量指的是在函数内部定义的变量,它只能在函数内部被访问和修改。局部变量在函数被调用时被创建,在函数执行结束时销毁。
全局变量和局部变量的作用域可以通过以下两个例子来说明:
例子1:全局变量的作用域
count = 0
def increase_count():
global count
count += 1
print(count)
increase_count() # 输出1
increase_count() # 输出2
在这个例子中,变量count在函数increase_count内部被引用和修改。在函数内部,我们使用global关键字来声明变量count是一个全局变量,这样在函数内部对该变量的修改会影响到函数外部的该变量。输出结果是1和2,说明全局变量count的作用域在整个程序中。
例子2:局部变量的作用域
def increase_count():
count = 0
count += 1
print(count)
increase_count() # 输出1
increase_count() # 输出1
在这个例子中,变量count在函数increase_count内部被定义和修改。每次调用函数increase_count时,都会创建一个新的变量count,并且每次的值都是1。说明局部变量count的作用域仅限于函数内部。
需要注意的是,在函数内部使用全局变量时,如果只是引用全局变量而不修改它,就不需要使用global关键字进行声明。但是如果要在函数内部修改全局变量,就必须使用global关键字进行声明,否则Python会将其视为一个新的局部变量。
总结起来,全局变量的作用域在整个程序中,可以在任何地方进行访问和修改;而局部变量的作用域仅限于函数内部,只能在函数内部进行访问和修改。
