国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

Python閉包局部變量問題

Aldous / 2017人閱讀

摘要:最近開始學習,一直覺得定義變量前沒有命令很難受,果然今天在練習閉包時遇到了這個問題。

最近開始學習python,一直覺得python定義變量前沒有命令很難受,果然今天在練習閉包時遇到了這個問題。先看看出問題的代碼

</>復制代碼

  1. def createCounter():
  2. n = 0
  3. def counter():
  4. n = n + 1
  5. return n
  6. return counter

這里會報錯:UnboundLocalError: local variable "n" referenced before assignment

原因:n = n + 1 這行代碼導致的歧義

理解為新定義的變量n,并且n = n + 1,由于之前n未被定義,所以會報錯

解決方法:用global命令或者nonlocal命令

我喜歡用nonlocal命令,因為global命令會導致全局變量臃腫,修改后代碼如下

</>復制代碼

  1. def createCounter():
  2. n = 0
  3. def counter():
  4. nonlocal n
  5. n = n+1
  6. return n
  7. return counter

這樣子就不會報錯了

文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。

轉載請注明本文地址:http://m.specialneedsforspecialkids.com/yun/41998.html

相關文章

  • Python 的命名空間

    摘要:真正管理這些名子的事物就是本文的主角命名空間。閉包命名空間閉包函數的名稱空間引入。函數調用時產生新的局部命名空間函數返回結果拋出異常時釋放命名空間,每一次遞歸都生成一個命名空間。標識符產生地點決定標識符所處的命名空間。 懶得掃全文的童鞋,可以直接跳到最后看總結。我們先從一個簡單的栗子說起: 栗子 a 文件中有變量 va 以及類 A,b 文件導入 a 中class A ,并打印出 A: ...

    ralap 評論0 收藏0
  • PyTips 0x04 - Python 閉包與作用域

    摘要:項目地址閉包在計算機科學中,閉包英語,又稱詞法閉包或函數閉包,是引用了自由變量的函數。這個被引用的自由變量將和這個函數一同存在,即使已經離開了創造它的環境也不例外。 項目地址:https://git.io/pytips 閉包(Closure) 在計算機科學中,閉包(英語:Closure),又稱詞法閉包(Lexical Closure)或函數閉包(function closures),是...

    leejan97 評論0 收藏0
  • Python學習之路26-函數裝飾器和閉包

    摘要:初步認識裝飾器函數裝飾器用于在源代碼中標記函數,以某種方式增強函數的行為。函數裝飾器在導入模塊時立即執行,而被裝飾的函數只在明確調用時運行。只有涉及嵌套函數時才有閉包問題。如果想保留函數原本的屬性,可以使用標準庫中的裝飾器。 《流暢的Python》筆記本篇將從最簡單的裝飾器開始,逐漸深入到閉包的概念,然后實現參數化裝飾器,最后介紹標準庫中常用的裝飾器。 1. 初步認識裝飾器 函數裝飾...

    sunny5541 評論0 收藏0
  • python基礎知識之函數初階——閉包

    摘要:我們說觸發了閉包的函數叫做閉包函數閉包最大的特點就是它可以被外層函數返回后賦值給一個變量,并且攜帶了外層函數內定義的變量例子如下變量為函數開辟的局部命名空間內定義的變量函數內引用了變量的內層函數名被當作返回值,此時閉包規則達成。 什么是閉包? 其實我們在使用函數過程中不經意間就會觸發閉包,因為總會出于某種原因會在函數內引用或修改上一層函數的變量,這時就會觸發閉包 那么什么是閉包?其實就...

    TIGERB 評論0 收藏0
  • 流暢的python讀書筆記-第七章-函數裝飾器和閉包

    摘要:函數裝飾器和閉包嚴格來說,裝飾器只是語法糖。何時執行裝飾器它們在被裝飾的函數定義之后立即運行。裝飾器突出了被裝飾的函數的作用,還便于臨時禁用某個促銷策略只需把裝飾器注釋掉。 函數裝飾器和閉包 嚴格來說,裝飾器只是語法糖。如前所示,裝飾器可以像常規的可調用對象那樣調用,其參數是另一個函數。有時,這樣做更方便,尤其是做元編程(在運行時改變程序的行為)時。 Python何時執行裝飾器 它們在...

    Hydrogen 評論0 收藏0

發表評論

0條評論

Aldous

|高級講師

TA的文章

閱讀更多
最新活動
閱讀需要支付1元查看
<