pqwsa 发表于 2018-8-4 06:06:20

Python学习入门基础教程(learning Python)--2.2.2 Python全局和局部变量 .

Python的变量也有全局和局部变量之分。  1. 局部变量
  用在子函数里的变量称之为局部变量,其生命周期为该函数执行周期,即函数执行完后变量即不存在。由于局部变量和某个函数直接相关,故不同子函数里可以定义相同名的变量,互相互不影响。请看下例。
def fun1()  
x = 12;
  
print(x)
  
def fun2()
  
x = 13;
  
print(x)
  
fun1()
  
fun2()
子函数fun1执行结果是打印x的值为12,子函数fun2打印的x的值为13.1-3行为fun1函数的定义,4-6行定义了函数fun2。第7行是调用fun1函数,第8行调用fun2函数。  2. 全局变量
  与局部变量相对的概念是全局变量,全局变量不专属于某个子函数,所有函数均可使用全局变量,它的生命周期是整个程序执行期间。需要注意的是子函数里如果有对全局变量进行修改,在修改语句前必须用global声明这个变量是全局变量;如果子函数仅仅是读这个全局变量,可不用global声明。
def pprint():  
x = 12
  
print(x)
  
global z
  
print("p")
  
z = z + 10
  
def oprint():
  
x = 13
  
print(x)
  
print("o")
  
print(z)
  
z = 15
  
pprint()
  
oprint()
       看pprint函数里,由于有z = z + 10 的写z操作,在修改z之前必须声明z是全局变量,否则pprint函数会把z看作自己的局部变量;而在oprint函数里print函数仅仅是读z的值,此时不需要声明z是全局变量。
页: [1]
查看完整版本: Python学习入门基础教程(learning Python)--2.2.2 Python全局和局部变量 .