定义在函数内部的变量拥有一个局部作用域,定义在函数外的拥有全局作用域。
局部变量只能在其被声明的函数内部访问,而全局变量可以在整个程序内访问。
在调用函数的时候,所有在函数内声明的变量名称都被加到作用域中:👇👇👇
1 total = 0 #定义了一个全局变量 2 def sum(a,b): #定义了一个sum函数 3 total = a+b #total在这里就是一个局部变量 4 print(total) 5 return total 6 sum(10,20) #调用sum函数 7 print(total)。#此时total就是一个全局变量,返回的应当就是之前定义的0
30 0
但是,当内部作用域想要修改外部作用域的变量的时候,就可以用到global和nonlocal关键字了 👇👇👇
total = 0 #定义了一个全局变量 def sum(a,b): #定义了一个sum函数 global total #需要使用global关键字 total = a+b #total在这里就是一个局部变量 print(total) return total sum(10,20) #调用sum函数 print(total) #此时total就是一个全局变量,返回的应当就是之前定义的0
30 30