加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Python > 正文

python中nonlocal 的作用域

发布时间:2020-12-20 12:47:51 所属栏目:Python 来源:网络整理
导读:‘‘‘nonlocal关键字用来在函数或其他作用域中使用外层(非全局)变量。‘‘‘def work(): x = 0 def new_work(): nonlocal x x=x+3 return x return new_work f=work()print(f())print(f())print(f()) ?打印结果 3 6 9 ‘‘‘使用global 实现‘‘‘a =0def n
‘‘‘
nonlocal关键字用来在函数或其他作用域中使用外层(非全局)变量。
‘‘‘
def work():
    x = 0
    def new_work():
        nonlocal x
        x=x+3
        return x
    return new_work
        
f=work()
print(f())
print(f())
print(f())

?打印结果

3

6

9

‘‘‘
使用global 实现
‘‘‘
a =0
def new_work():
    global a
    a=a+3
    return a
print(new_work())
print(new_work())
print(new_work())

?打印结果

3

6

9

‘‘‘
闭包= 函数+环境变量
‘‘‘

def dosometing():
    a =25
    def add(x):
        d=a+x
        return d
    return add
a = 10
f=dosometing()
print(f(5))
print(f(5))
print(f(5))

?

?打印结果

30

30

30

‘‘‘
闭包= 函数+环境变量
nonlocal关键字用来在函数或其他作用域中使用外层(非全局)变量。
‘‘‘

def dosometing():
    a =25
    def add(x):
        nonlocal a
        a=a+x
        return a
    return add
a = 10
f=dosometing()
print(f(5))
print(f(5))
print(f(5))

?打印结果

30

35

40

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读