#6.2变量的做用域,是变量的可访问范围,也称为命名空间。在第一次
#给变量赋值时,python建立变量。第一次给变量赋值的位置决定了变量的做用域。
#做用域类型
#一个程序一般包含了变量、函数和其余语句。变量和函数涉及可访问范围。一个程序中的变量和函数
#要么在当前文件中定义,要么就是python预先定义好。函数和程序文件划分了不一样的做用域。
#在同一个做用域中。变量名是惟一的。在不一样的做用域中,相同的变量名也表示了不一样的变量。
#在pyton中做用域范围能够分为内置做用域、文件做用域、函数嵌套做用域和本地做用域。
#内置做用域和文件做用域被称为全局做用域。
#函数嵌套做用域有时,也称为本地做用域。
#根据做用域的范围大小,做用域外部的变量和函数,能够直接做用在做用域内使用;相反,做用域内的变量
#不能在做用域外直接使用。
#根据做用域范围,一般将变量名分为两种:全局变量和本地变量。
#a 全局变量;
a =10
#参数b,是函数add内的本地变量。
def add(b):
#c是函数add内的本地变量,a是函数外部的全局变量。
c=a+b
return c
#调用函数;
print(add(5))
#在函数运行的过程当中,a add,是全局变量。b c是局部变量。内置函数print()
#做用域外的变量和做用域内的变量名称相同时,遵循本地“优先”原则,此时外部的做用域被屏蔽
#---做用域隔离原则。
#例如:
a=10
def show():
#赋值,建立本地变量a
a=1000
print('int show():a=',a)
#调用函数,观察输出结果会发现,本地变量屏蔽了全局变量.
show()python
#将上面的函数稍做修改:
#赋值,建立全局变量a
a=10
def show():
#在此先打印a的值,看是否会使用全局变量。
global a
print("a=",a)
#赋值,建立本地变量.
a=100
print("a=",a)
#调用函数;
show()ide