Python14,变量的作用域

先看一个简单的例子:

  age = 25

  def change_age():    

    age = 32    

    print(age)

  change_age()

  print(age)

执行结果为:

  32
  25

例子中的几个age变量不尽相同,一个是首行中定义的,称作全局变量;另一个是函数change_age()定义的,称作局部变量。

全局变量在本程序任何地方创建,可以被本程序所有对象或函数引用。

局部变量又可称之为内部变量;是由某对象或某个函数所创建的变量,通常都是局部变量,只能被内部引用,而无法被其它对象或函数引用。

将上述例子改成: 

  age = 25

  def change_age():    

    print(age)

  change_age()

  print(age)

那么函数change_age()中将不再有局部变量,会直接调用全局变量age,

因此执行结果变成:

  25

  25

如果要在函数中强制使用全局变量,可以在函数体中引入全局变量。

  age = 25

  def change_age():    

    global age

    age = 32

    print(age)

  change_age()

  print(age)

一旦再次赋值,将意味着全局变量的值被修改。所以它的执行结果是:

  32

  32

猜你喜欢

转载自www.cnblogs.com/wangfei1248/p/9808660.html