# 函数作用域
def liubei():
name = "刘备"
print(name)
def guanyu():
name = "关羽"
def zhangfei():
nonlocal name # nonlocal 指定上一级变量
name = "张飞"
print(name)
return "zf"
zhangfei()
print(name)
return zhangfei
guanyu()
print(name)
return guanyu # 返回一个函数名字,即将函数名也是一个变量
# 直接调用zhangfei(),会报错,找不到这个函数的定义(NameError: name 'zhangfei' is not defined)
# 函数名也是一个变量,一个变量就有作用域,只有同级的作用域,才可以通过名字直接调用函数
# zhangfei()
# liubei是一个同级的函数,可以直接调用
gy = liubei()
zf = gy()
v = zf() # 通过将zhangfei函数名返回出来,然后加上(),就可以调用zhangfei函数
print(v)
python十五:函数作用域-函数即变量
猜你喜欢
转载自blog.csdn.net/m0_37564426/article/details/81052081
今日推荐
周排行