首页 > 其他 > 详细

函数作用域

时间:2019-10-13 16:17:39      阅读:76      评论:0      收藏:0      [点我收藏+]
#作用域
if True:
x = 3 #if没有作用域
print(x)

def f():
a = 3 #a这个变量属于函数 出了这个函数就没用了
f()
print(a)

技术分享图片 

技术分享图片

 

 

#嵌套作用域 1
x =1
def s():
global x #global 关键字可以修改全局变量
x = x + 3 #局部要修改全局变量需要添加global
def sf():
# nonlocal x #nonlocal 关键字可以修改嵌套作用域
x = 5
def sd():
nonlocal x #nonlocal 关键字可以修改嵌套作用域
x = x + 7
print("3:",x)
sd()
print("2:",x)
sf()
print("1:",x)
s()

打印

3: 12
2: 12 
1: 4

 

 

#嵌套作用域 2
def s():
x = 3
def sf():
nonlocal x #nonlocal 关键字可以修改嵌套作用域
x = 5
def sd():
nonlocal x #nonlocal 关键字可以修改嵌套作用域
x = x + 7
print("3:",x)
sd()
print("2:",x)
sf()
print("1:",x)
s()


打印

3: 12
2: 12
1: 12

#嵌套作用域 3
def s():
x = 3
def sf():
# nonlocal x #nonlocal 关键字可以修改嵌套作用域
x = 5
def sd():
nonlocal x #nonlocal 关键字可以修改嵌套作用域
x = x + 7
print("3:",x)
sd()
print("2:",x)
sf()
print("1:",x)
s()


打印

3: 12
2: 12
1: 3

 

 

函数作用域

原文:https://www.cnblogs.com/TKOPython/p/11666640.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!