# 变量范围 和 global关键字
count = 10
def greeting(select: bool):
global count # 加global 关键字,将本地范围内的count声明成全局变量使用
if select:
count = 20 # 本地变量
print(count) # 变量范围由小到大进行搜索
greeting(True) # 如果选择false 函数中if语句没有执行,所以会报错,因为本地范围的count没有赋值,如果选择是True则正常赋值
print(count)
# nonlocal关键字
message = "moudel"
def outer():
message = "outer"
def inner():
nonlocal message # nonlocal 范围 使用outer函数中的变量
message = "inner"
print(message)
inner()
print(message) # outer函数中的message变量被inner函数修改
outer()
print(message)
05-11
333
![](https://csdnimg.cn/release/blogv2/dist/pc/img/readCountWhite.png)
01-27
5万+
![](https://csdnimg.cn/release/blogv2/dist/pc/img/readCountWhite.png)
05-10
481
![](https://csdnimg.cn/release/blogv2/dist/pc/img/readCountWhite.png)