变量有两种类型:全局变量和局部变量。全局变量可以在代码中的任何位置访问,局部变量只能在作用域中访问。
可以在代码中的任何位置访问和修改全局变量(x
),局部变量(z
)仅存在于块 3 中。
局部变量
局部变量只能在其作用域内达到。下面的示例有两个局部变量:x
和y
。
def sum(x,y):
sum = x + y
return sum
print(sum(8,6))
变量x
和y
只能在函数sum
之内使用,而在函数外部则不存在。局部变量不能在其作用域之外使用,此行将不起作用:
print(x)
全局变量
全局变量可以在代码中的任何位置使用。在下面的示例中,我们定义了全局变量z
z = 10
def afunction():
global z
print(z)
afunction()
print(z)
全局变量z
可以在整个程序中,函数内部或外部使用。可以在函数内部修改全局变量,并为整个程序进行更改:
z = 10
def afunction():
global z
z = 9
afunction()
print(z)
调用afunction()
之后,将更改整个程序的全局变量。
练习
局部变量和全局变量可以在同一程序中一起使用。尝试确定该程序的输出:
z = 10
def func1():
global z
z = 3
def func2(x,y):
global z
return x+y+z
func1()
total = func2(4,5)
print(total)