10-函数进阶-作用域

发布时间 2024-01-13 16:52:43作者: ljh-

'''
定义的名字可以使用的区域

在函数外面定义的名字,都属于全局名字
在函数里面定义的名字,都属于局部名字

局部作用域:
全局作用域:

python自带名字(函数名和变量名) 内置区域
函数外面定义的名字: 全局区域
函数里面定义的变量: 局部区域
'''

a = 1 # 全局变量

def f():
a = 2 # 局部变量
a1 = 4

def f2():
a = 3 # 局部变量
print(a)
# print(a1) 因为a1是属于f函数的,不能访问到

不同的函数,所在局部区域不同,不能进行数据的相互访问

f中不能访问f2中定义的变量,f2中不能访问f中的变量

f2()

如果代码中出现了同名的名字,会有查找顺序问题

def f3():
a = 3 # 局部变量
print(a) # 3
f3()

局部中找a---》先看当前局部中是否有a--》找全局a---》找内置a--》报错

print(a)

全局中找a--> 全局中是否有a---》找内置a--》报错