Python作用域用法實(shí)例詳解
本文實(shí)例分析了Python作用域用法。分享給大家供大家參考,具體如下:
每一個(gè)編程語言都有變量的作用域的概念,Python也不例外,以下是Python作用域的代碼演示:
def scope_test():
def do_local():
spam = "local spam"
def do_nonlocal():
nonlocal spam
spam = "nonlocal spam"
def do_global():
global spam
spam = "global spam"
spam = "test spam"
do_local()
print("After local assignment:", spam)
do_nonlocal()
print("After nonlocal assignment:", spam)
do_global()
print("After global assignment:", spam)
scope_test()
print("In global scope:", spam)
程序的輸出結(jié)果:
After local assignment: test spam After nonlocal assignment: nonlocal spam After global assignment: nonlocal spam In global scope: global spam
注意: local 賦值語句是無法改變 scope_test 的 spam 綁定。 nonlocal 賦值語句改變了 scope_test 的 spam 綁定,并且 global 賦值語句從模塊級(jí)改變了 spam 綁定。
其中,nonlocal是Python 3新增的關(guān)鍵字。
你也可以看到在 global 賦值語句之前對(duì) spam 是沒有預(yù)先綁定的。
小結(jié):
遇到在程序中訪問全局變量并且要修改全局變量的值的情況可以使用:global關(guān)鍵字,在函數(shù)中聲明此變量是全局變量
nonlocal關(guān)鍵字用來在函數(shù)或其他作用域中使用外層(非全局)變量。
global關(guān)鍵字很好理解,其他語言大體也如此。這里再舉一個(gè)nonlocal的例子:
def make_counter():
count = 0
def counter():
nonlocal count
count += 1
return count
return counter
def make_counter_test():
mc = make_counter()
print(mc())
print(mc())
print(mc())
運(yùn)行結(jié)果:
1 2 3
轉(zhuǎn)自:小談博客 http://www.tantengvip.com/2015/05/python-scope/
希望本文所述對(duì)大家Python程序設(shè)計(jì)有所幫助。
相關(guān)文章
python django下載大的csv文件實(shí)現(xiàn)方法分析
這篇文章主要介紹了python django下載大的csv文件實(shí)現(xiàn)方法,結(jié)合實(shí)例形式分析了Django框架下載csv大文件的相關(guān)操作技巧與注意事項(xiàng),需要的朋友可以參考下2019-07-07
Python Logging 日志記錄入門學(xué)習(xí)
這篇文章主要介紹了Python Logging 日志記錄入門學(xué)習(xí),小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2018-06-06
Python TCP全連接攻擊中SockStress全連接攻擊詳解
Sock Stress 全連接攻擊屬于TCP全連接攻擊,因?yàn)樾枰⒁淮瓮暾腡CP三次握手,該攻擊的關(guān)鍵點(diǎn)就在于,攻擊主機(jī)將windows窗口緩沖設(shè)置為0,實(shí)現(xiàn)的拒絕服務(wù)2022-10-10
解決Python內(nèi)層for循環(huán)如何break出外層的循環(huán)的問題
今天小編就為大家分享一篇解決Python內(nèi)層for循環(huán)如何break出外層的循環(huán)的問題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2019-06-06
python numpy矩陣信息說明,shape,size,dtype
這篇文章主要介紹了python numpy矩陣信息說明,shape,size,dtype,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2020-05-05

