8-[函数]-嵌套函数,匿名函数,高阶函数
生活随笔
收集整理的這篇文章主要介紹了
8-[函数]-嵌套函数,匿名函数,高阶函数
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
1.嵌套函數
(1)多層函數套用
name = "Alex"def change_name():name = "Alex2"def change_name2():name = "Alex3"print("第3層打印", name)change_name2() # 調用內層函數print("第2層打印", name)change_name() print("最外層打印", name) 第3層打印 Alex3 第2層打印 Alex2 最外層打印 Alex?
(2)return 函數2的內存地址
age = 18 def func1():age = 73def func2():print('---2')return func2val = func1() print(val) # <function func1.<locals>.func2 at 0x024601E0> val() C:\Python34\python.exe C:/PycharmProjects/Luffy_project/21天入門/模塊2/fun/fun3.py <function func1.<locals>.func2 at 0x006201E0> ---2?
?
2.匿名函數
- 不需要函數名
- 語句執行的結果就是返回值
- 單條語句組成
- 作用
- 1.節省代碼量
- 2.裝B
(1)匿名函數
func = lambda x,y :x*y # 聲明一個匿名函數 val = func(3,5) print(val)# 結果 15?
(2)?匿名函數只能有一個表達式,不用也不能寫return語句,表達式的結果就是其返回值。
?
?
(3)匿名函數和三元運算搭配
- 三元運算符
?
def cal(x,y):if x> y:return x/yelse:return x*yval = cal(3,5) print(val)### 結果 15?
# 匿名函數 三元運算 func = lambda x,y : x/y if x>y else x*y val = func(5,6) print(val)?
? (5)匿名函數和map
- 需求,list=[1,2,3,4,5,]
- 變換成 list2 = [1,4,9,16,25]
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9] [0, 1, 4, 9, 16, 25, 36, 49, 64, 81]
?
4.高階函數
?
變量可以指向函數,函數的參數能接收變量,那么一個函數就可以接收另一個函數作為參數,這種函數就稱之為高階函數。
- 編寫高階函數,就是讓函數的參數能夠接收別的函數。
?
只需滿足以下任意一個條件,即是高階函數
- 接受一個或多個函數作為輸入
- return 返回另外一個函數本身
?
轉載于:https://www.cnblogs.com/venicid/p/8409924.html
總結
以上是生活随笔為你收集整理的8-[函数]-嵌套函数,匿名函数,高阶函数的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 十大经典算法 - 转载
- 下一篇: 全国计算机高新技术模块,全国计算机信息高