<ul id="qxxfc"><fieldset id="qxxfc"><tr id="qxxfc"></tr></fieldset></ul>


      一、函數(shù)名

      ? 函數(shù)名是?個(gè)變量, 但它是?個(gè)特殊的變量, 與括號(hào)配合可以執(zhí)?函數(shù)的變量。

      1. 函數(shù)名的內(nèi)存地址
      def func(): print("呵呵") print(func) 結(jié)果: <function func at 0x1101e4ea0>
      2. 函數(shù)名可以賦值給其他變量
      def func(): print("呵呵") print(func) # 把函數(shù)當(dāng)成?個(gè)變量賦值給另?個(gè)變量 a = func # 函數(shù)調(diào)? func()
      a()
      3. 函數(shù)名可以當(dāng)做函數(shù)的參數(shù)
      def func(): print("吃了么") def func2(fn): print("我是func2") fn() print("我是func2")
      # 把函數(shù)func當(dāng)成參數(shù)傳遞給func2的參數(shù)fn. func2(func)
      4. 函數(shù)名可以作為函數(shù)的返回值
      def func_1(): print("這?是函數(shù)1") def func_2(): print("這?是函數(shù)2") print("這?是函數(shù)1")
      return func_2 # 執(zhí)?函數(shù)1. 函數(shù)1返回的是函數(shù)2, 這時(shí)fn指向的就是上?函數(shù)2 fn = func_1() # 執(zhí)?上?返回的函數(shù) fn()
      二、閉包

      1. 定義

      ? 如果在一個(gè)內(nèi)部函數(shù)里,對(duì)在外部作用于(但不是在全局作用域)的變量進(jìn)行引用,那么內(nèi)部函數(shù)就被認(rèn)為是閉包。

      ? 閉包(Closure)是詞法閉包(Lexical
      Closure)的簡稱,是引用了自由變量的函數(shù)。這個(gè)被引用的自由變量將和這個(gè)函數(shù)一同存在,即使已經(jīng)離開了創(chuàng)造它的環(huán)境也不例外。所以,閉包是由函數(shù)和與其相關(guān)的引用環(huán)境組合而成的實(shí)體。

      ?
      通俗的講就是:如果在一個(gè)內(nèi)部函數(shù)里,對(duì)在外部作用域(但不是在全局作用域)的變量進(jìn)行引用,那么內(nèi)部函數(shù)就被認(rèn)為是閉包(closure)。它只不過是個(gè)“內(nèi)層”的函數(shù),由一個(gè)名字(變量)來指代,而這個(gè)名字(變量)對(duì)于“外層”包含它的函數(shù)而言,是本地變量。

      ? 閉包的主要用途:實(shí)現(xiàn)裝飾器

      2. 閉包運(yùn)用

      * 閉包函數(shù)必須有內(nèi)嵌函數(shù)
      * 內(nèi)嵌函數(shù)需要引用該嵌套函數(shù)上一級(jí)namespace中的變量
      * 閉包函數(shù)必須返回內(nèi)嵌函數(shù)
      (1) 普通閉包
      def func(a, b): def line(x): return a * x - b return line line = func(2, 3)
      print(line(5))
      (2) 修改值閉包
      def func(a, b): def line(x): nonlocal a a = 3 return a * x - b return line
      line = func(2, 3) print(line(5))

      友情鏈接
      ioDraw流程圖
      API參考文檔
      OK工具箱
      云服務(wù)器優(yōu)惠
      阿里云優(yōu)惠券
      騰訊云優(yōu)惠券
      京東云優(yōu)惠券
      站點(diǎn)信息
      問題反饋
      郵箱:[email protected]
      QQ群:637538335
      關(guān)注微信

        <ul id="qxxfc"><fieldset id="qxxfc"><tr id="qxxfc"></tr></fieldset></ul>
          久久精品小视频 | 国产1级片| 美女露出让男人桶爽 | 欧美国产操逼 | 牛牛精品一区二区 | 开心久久五月天 | 国产片婬乱18一级毛片小说 | 乳情欲乱1973 | 日韩性爱一区二区 | 国产精品久久久久久免费 |