首页 > 编程语言 > 详细

python中nonlocal的作用

时间:2021-06-04 22:28:19      阅读:29      评论:0      收藏:0      [点我收藏+]

python中nonlocal关键字

‘‘‘
nonlocal关键字用来在函数或其他作用域中使用外层(非全局)变量。
‘‘‘
def work():
    x = 0
    def new_work():
        nonlocal 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

python中nonlocal的作用

原文:https://www.cnblogs.com/jessecheng/p/14851162.html

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