python closure闭包 lambda表达式
生活随笔
收集整理的這篇文章主要介紹了
python closure闭包 lambda表达式
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
- 在函數中改變全局變量的值,使用什么關鍵字
- global
- 在嵌套的函數中,如果希望在內部函數修改外部函數的局部變量,應使用什么關鍵字
- nonlocal
- 請問為什么代碼A沒有報錯,但是代碼B卻報錯了?贏如何修改?
- 因為代碼B中,local variable 'var' referenced before assignment,說的是變量var沒有被定義就拿來使用,所以報錯
- outside()函數中有一個var,inside()函數中也有一個var,python為了保護變量的作用域,故將outside()的var變量屏蔽起來,因此此時是無法訪問到外層的var變量的
- 答案:github.com/LiuJiYangYa…
lambda表達式
-
匿名函數
- Python寫一些執行腳本時,使用匿名函數就可以省下定義函數過程,比如說我們只是需要寫個簡單的腳本來管理服務器時間,我們就不需要專門定義一個函數然后再寫調用,使用匿名函數就可以使得代碼更加精簡。
- 對于一些比較抽象并且整個程序執行下來只需要調用一兩次的函數,有時候給函數起個名字也是比較頭疼的問題,使用匿名函數就不需要考慮命名的問題了
- 簡化代碼的可讀性,由于普通的屌絲函數閱讀經常要跳到開頭def定義部分,使用匿名函數函數可以省去這樣的步驟。
-
lambda表達式的作用
- Python寫一些執行腳本時,使用lambda就可以省下定義函數的過程,比如說我們只是需要寫個簡單的腳本來管理服務器時間,我們就不需要專門定義一個函數然后再寫調用,使用lambda就可以使得代碼更加精簡。
- 對于一些比較抽象并且整個程序執行下來只需要調用一兩次的函數,有時候給函數起個名字也是比較頭痛的問題,使用lambda就不需要考慮命名的問題了
- 簡化代碼的可讀性,由于普通的屌絲函數閱讀經常要跳到開頭def定義部分,使用lambda函數可以省去這樣的步驟
-
兩個牛逼的BIF
- filter()用法:filter(function or None, iterable),有兩個參數,第二個參數為可迭代的數據,第一個參數可以為None或者函數,當為None時,將iterable中為真的數據挑選出來,當為function時,將iterable中滿足function的結果為真的數據挑選出來。
- map()用法:map(func, *iterables),將可迭代序列的每一個數據作為函數的參數進行運算加工,直到可迭代序列的每一個元素都加工完畢,返回所有加工后的元素構成的新序列。
-
答案:github.com/LiuJiYangYa…
轉載于:https://juejin.im/post/5ce687c36fb9a07efc49629a
總結
以上是生活随笔為你收集整理的python closure闭包 lambda表达式的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: JAVA.NET.SOCKETEXCEP
- 下一篇: TCP排查常用命令