python变量的作用域一

2023-01-31 01:01:54 python 变量 作用

#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()

#将上面的函数稍作修改:
#赋值,创建全局变量a
a=10
def show():
#在此先打印a的值,看是否会使用全局变量。
global a
print("a=",a)
#赋值,创建本地变量.
a=100
print("a=",a)
#调用函数;
show()

相关文章