1.函数的作用域
--? 内置
--? 全局,顶格写
--? 局部,函数内部
a = 34 #全局变量
def run():
b = 44 #局部变量
print(a)
print(b) #不可以直接调用局部变量,报错
运行结果:
Traceback (most recent call last): 34 ? File "C:/Users/Administrator/PycharmProjects/untitled/class1.py", line 5, in <module> ? ? print(b) NameError: name 'b' is not defined
c = 12
def run(a):
print(a)
b = 33
run(5)
# 一个全局变量c
# 两个局部变量a,b
# 函数的参数也是局部变量
?运行结果:
5
?局部 VS?全局
--?局部空间(函数内)获取全局变量,Yes
--?全部空间(函数外)获取局部变量,No,但可以间接通过返回值 return 获取
--?全局空间(函数外)修改局部变量,No
--?局部空间(函数内)修改全部变量,Yes,但必须要声明,global?全局变量名
siwei = 99
def run():
print('函数执行')
print(siwei)# 调用全局变量,可以正常使用
run()
运行结果:
函数执行 99
siwei = 99
def run():
print('函数执行')
a = 88
print(siwei)# 调用全局变量,可以正常使用
return a #用返回值,返给全局变量result
result = run()
print(result)
运行结果:
函数执行 99 88
siwei = 99
def run():
global siwei # 局部想修改全局变量,必须要先声明,若没此行会报错
siwei +=1
print(siwei)
run()
?运行结果:
100
?
|