global 和 nonlocal關(guān)鍵字
當(dāng)內(nèi)部作用域想修改外部作用域的變量時,就要用到global和nonlocal關(guān)鍵字了
內(nèi)改外
#!/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 關(guān)鍵字了
#!/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
本站僅提供存儲服務(wù),所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請
點擊舉報。