分享

global 和 nonlocal关键字--python

 融水公子 2018-09-13
global 和 nonlocal关键字
当内部作用域想修改外部作用域的变量时,就要用到global和nonlocal关键字了

内改外
#!/usr/bin/python
# -*- coding: utf-8 -*-
 
num=1
def fun():
    global num
    print(num)
    num=1
    print(num)
fun()
print("外部变量:",num)
#
1
1
外部变量: 1

-----------------------------------------------------------------------------------
修改嵌套作用域(enclosing 作用域,外层非全局作用域)中的变量则需要 nonlocal 关键字了
#!/usr/bin/python
# -*- coding: utf-8 -*-
 
def outer():
    num=10
    def inner():
        nonlocal num
        num=100
        print(num)
    inner()
    print(num)

outer()  
# 100  100
-----------------------------------------------------------------------------------
陷阱:
#!/usr/bin/python
# -*- coding: utf-8 -*-
 
a=10
def fun(a):
    a=a+1;
    print(a)
fun(a)#11
-----------------------------------------------------------------------------------






分享知识,分享快乐!希望中国站在编程之巅!

               ----

公众微信号:rsgz520

360图书馆馆号:rsgz002.360doc.com 

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多