床長人工智能教程免費擴展210
朋友們,如需轉(zhuǎn)載請標明出處:[https://blog.csdn.net/jiangjunshow](https://blog.csdn.net/jiangjunshow)
聲明:在人工智能技術教學期間,不少學生向我提一些python相關的問題,所以為了讓同學們掌握更多擴展知識更好地理解AI技術,我讓助理負責分享這套python系列教程,希望能幫到大家!由于這套python教程不是由我所寫,所以不如我的AI技術教學風趣幽默,學起來比較枯燥;但它的知識點還是講到位的了,也值得閱讀!想要學習AI技術的同學可以點擊跳轉(zhuǎn)到我的[教學網(wǎng)站](https://www.captainai.net/csdn)。PS:看不懂本篇文章的同學請先看前面的文章,循序漸進每天學一點就不會覺得難了!
lambda是嵌套函數(shù)作用域查找的最大受益者。例如,在下面的例子中,在上層函數(shù)調(diào)用的時候,嵌套的lambda能夠獲取到在上層函數(shù)作用域中的變量名x的值。
```
>>>def action(x):
...? ? return (lambda y: x + y)? ? ?# Make and return function,remember x...
>>>act = action(99)
>>>act
<function <lambda> at 0x00A16A88>
>>>act(2)? ? ? ? ? ? ? ? ? ? ? ? ? ?# Call what action returned
101
```
lambda也能夠獲取任意上層lambda中的變量名。這種情況有些隱晦,我們把上一個例子中的def換成一個lambda來幫助大家理解。
```
>>>action = (lambda x: (lambda y: x + y))
>>>act = action(99)
>>>act(3)
102
>>>((lambda x: (lambda y: x + y))(99))(4)
103
```
上面的代碼可以工作,但是這種代碼讓人相當費解??紤]到可讀性,通常來說,最好避免使用嵌套的lambda。