亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

Python作用域用法實例詳解

 更新時間:2016年03月15日 11:37:04   作者:小談博客  
這篇文章主要介紹了Python作用域用法,結(jié)合實例形式詳細分析了Python作用域概念,用法與相關(guān)函數(shù)的使用技巧,需要的朋友可以參考下

本文實例分析了Python作用域用法。分享給大家供大家參考,具體如下:

每一個編程語言都有變量的作用域的概念,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 賦值語句從模塊級改變了 spam 綁定。

其中,nonlocal是Python 3新增的關(guān)鍵字。

你也可以看到在 global 賦值語句之前對 spam 是沒有預(yù)先綁定的。

小結(jié):

遇到在程序中訪問全局變量并且要修改全局變量的值的情況可以使用:global關(guān)鍵字,在函數(shù)中聲明此變量是全局變量

nonlocal關(guān)鍵字用來在函數(shù)或其他作用域中使用外層(非全局)變量。

global關(guān)鍵字很好理解,其他語言大體也如此。這里再舉一個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())

運行結(jié)果:

1
2
3

轉(zhuǎn)自:小談博客 http://www.tantengvip.com/2015/05/python-scope/

希望本文所述對大家Python程序設(shè)計有所幫助。

相關(guān)文章

  • Python格式化輸出字符串的五種方法總結(jié)

    Python格式化輸出字符串的五種方法總結(jié)

    Python語言有許多優(yōu)點,常用于不同的領(lǐng)域,如數(shù)據(jù)科學(xué)、web開發(fā)、自動化運維等。本文將學(xué)習(xí)如何使用字符串中內(nèi)置的方法來格式化字符串,感興趣的可以了解一下
    2022-06-06
  • python中print輸出有空格如何解決

    python中print輸出有空格如何解決

    這篇文章主要介紹了python中print輸出有空格的解決方案,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2024-02-02
  • 跟老齊學(xué)Python之變量和參數(shù)

    跟老齊學(xué)Python之變量和參數(shù)

    對于變量和參數(shù),不管是已經(jīng)敲代碼多年的老鳥,還是剛剛接觸編程的小白,都會有時候清楚,有時候又有點模糊。因為,在實際應(yīng)用中,它們之間分分離離,比如,敲代碼都知道,x=3中x是變量,它不是參數(shù),但是在函數(shù)y=3x+4中,x是變量,也是參數(shù)。
    2014-10-10
  • 解決python opencv無法顯示圖片的問題

    解決python opencv無法顯示圖片的問題

    今天小編就為大家分享一篇解決python opencv無法顯示圖片的問題,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-10-10
  • python django下載大的csv文件實現(xiàn)方法分析

    python django下載大的csv文件實現(xiàn)方法分析

    這篇文章主要介紹了python django下載大的csv文件實現(xiàn)方法,結(jié)合實例形式分析了Django框架下載csv大文件的相關(guān)操作技巧與注意事項,需要的朋友可以參考下
    2019-07-07
  • Python Logging 日志記錄入門學(xué)習(xí)

    Python Logging 日志記錄入門學(xué)習(xí)

    這篇文章主要介紹了Python Logging 日志記錄入門學(xué)習(xí),小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2018-06-06
  • Python TCP全連接攻擊中SockStress全連接攻擊詳解

    Python TCP全連接攻擊中SockStress全連接攻擊詳解

    Sock Stress 全連接攻擊屬于TCP全連接攻擊,因為需要建立一次完整的TCP三次握手,該攻擊的關(guān)鍵點就在于,攻擊主機將windows窗口緩沖設(shè)置為0,實現(xiàn)的拒絕服務(wù)
    2022-10-10
  • 解決Python內(nèi)層for循環(huán)如何break出外層的循環(huán)的問題

    解決Python內(nèi)層for循環(huán)如何break出外層的循環(huán)的問題

    今天小編就為大家分享一篇解決Python內(nèi)層for循環(huán)如何break出外層的循環(huán)的問題,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2019-06-06
  • Python中的左斜杠、右斜杠(正斜杠和反斜杠)

    Python中的左斜杠、右斜杠(正斜杠和反斜杠)

    這篇文章主要介紹了Python中的左斜杠、右斜杠(正斜杠和反斜杠)的相關(guān)資料,非常不錯,具有參考借鑒價值,需要的朋友可以參考下
    2016-08-08
  • python numpy矩陣信息說明,shape,size,dtype

    python numpy矩陣信息說明,shape,size,dtype

    這篇文章主要介紹了python numpy矩陣信息說明,shape,size,dtype,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-05-05

最新評論