原文: https://pythonspot.com/global-local-variables/

变量有两种类型:全局变量局部变量。全局变量可以在代码中的任何位置访问,局部变量只能在作用域中访问。

全局和局部变量 - 图1

可以在代码中的任何位置访问和修改全局变量x),局部变量z)仅存在于块 3 中。

局部变量

局部变量只能在其作用域内达到。下面的示例有两个局部变量:xy

  1. def sum(x,y):
  2. sum = x + y
  3. return sum
  4. print(sum(8,6))

变量xy只能在函数sum之内使用,而在函数外部则不存在。局部变量不能在其作用域之外使用,此行将不起作用:

  1. print(x)

全局变量

全局变量可以在代码中的任何位置使用。在下面的示例中,我们定义了全局变量z

  1. z = 10
  2. def afunction():
  3. global z
  4. print(z)
  5. afunction()
  6. print(z)

全局变量z可以在整个程序中,函数内部或外部使用。可以在函数内部修改全局变量,并为整个程序进行更改:

  1. z = 10
  2. def afunction():
  3. global z
  4. z = 9
  5. afunction()
  6. print(z)

调用afunction()之后,将更改整个程序的全局变量。

练习

局部变量和全局变量可以在同一程序中一起使用。尝试确定该程序的输出:

  1. z = 10
  2. def func1():
  3. global z
  4. z = 3
  5. def func2(x,y):
  6. global z
  7. return x+y+z
  8. func1()
  9. total = func2(4,5)
  10. print(total)

下载 Python 练习