python教程:闭包函数
生活随笔
收集整理的這篇文章主要介紹了
python教程:闭包函数
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
一:大前提
閉包函數 = 名稱空間與作用域 + 函數嵌套 + 函數對象
核心點:名字的查找關系是以函數定義階段為準
二:什么是閉包函數
"閉"函數指的該函數是內嵌函數
"包"函數指的該函數包含對外層函數作用域名字的引用(不是對全局作用域)
閉包函數:名稱空間與作用域的應用+函數嵌套
思路:
調用的是函數foo(),函數foo()內的x=2222未被調用,調用了函數bar()
函數bar()內的x=444444未被調用,調用了函數f1()
函數f1()內定義了x,定義了函數f2(),函數f2()內輸出x
函數f2()內未定義x,就去f1()中,找到了x=33333333333333333333
最后函數f1()調用了函數f2(),輸出33333333333333333333
三:為何要有閉包函數 ==》 閉包函數的應用
兩種為函數體傳參的方式:
方式一:直接把函數體需要的參數定義成形參
方式二:使用閉包函數
def f1(x): # x=3# x=3def f2():print(x)return f2x=f1(3) print(x) x()輸出: <function f1.<locals>.f2 at 0x02F734A8> 3 與50位技術專家面對面20年技術見證,附贈技術全景圖總結
以上是生活随笔為你收集整理的python教程:闭包函数的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Python的itertools.pro
- 下一篇: Python教程:函数对象与函数嵌套