Python基礎 認識函式(三)

2021-10-05 13:03:37 字數 2679 閱讀 5654

# 高階函式

# 接收函式作為引數,或者將函式作為返回值返回的函式就是高階函式

deffun_1

(a, b)

:# 函式一:計算a,b的和

c = a + b

return c

# 接收函式作為引數的高階函式

deffun_2

(fun, n, a, b)

:# 函式二:計算n倍fun(a,b)的值

d = n * fun(a, b)

return d

result1 = fun_2(fun_1,2,

3,7)

print

(result1)

#20# 將函式作為返回值返回的高階函式

deffun_3

(a,b)

:return fun_1(a,b)

result2 = fun_3(2,

5)print

(result2)

#7

行成閉包的條件

# 閉包

# 建立一些只有當前函式能訪問的變數,可以將一些私有資料藏到閉包中

defmy_fun

(a, b)

: c =

10#內部定義了函式,形成函式巢狀

defin_fun

(a, b, c)

:# 用到了外部變數a,b

# c只能由in_fun函式訪問,不能從函式外訪問

d =(a + b)

* c return d

# 將函式作為返回值返回

return in_fun(a, b, c)

print

(my_fun(2,

5))# 70

# 裝飾器的引入

# def my_fun(*num):

# #求和函式

# s = 0

# for i in num:

# s += i

# return s

# print(my_fun(1,2,3,4,5,6,7)) #28

# 修改函式,實現新功能

deffun

(*num)

:#連乘函式

s =1for i in num:

s *= i

return s

print

(fun(1,

4,5,

6))#120

# 在內部進行了修改,違反ocp原則

# 裝飾器的使用

# 原函式

defmy_fun()

:print

('我是函式!'

)my_fun(

)#我是函式!

# 在不修改原函式的情況下拓展函式

defnew_fun

(fun)

:print

('hello!'

) fun(

)print

('執行結束了!'

)new_fun(my_fun)

# hello!

# 我是函式!

# 執行結束了!

# 但是這樣修改多個函式呢?不可能乙個乙個的新增啊

# 於是,修飾器來了

defyour_fun

(func)

:def

my_fun

(*num)

: func(

*num)

return my_fun

@your_fun

deffunc

(a,b)

: c = a+b

print

('求和函式:'

)print

("結果為:"

,c)func(5,

2)# 求和函式:

# 結果為: 7

# 多層修飾器

defhis_fun

(func)

:def

my_fun

(*args,

**kwargs)

:print

('他的函式:'

) func(

*args,

**kwargs)

print

('2333'

)return my_fun

defher_fun

(func)

:def

my_fun

(*args,

**kwargs)

:print

('她的函式:'

) func(

*args,

**kwargs)

print

('2333333'

)return my_fun

@his_fun

@her_fun

deffunc

(a,b,c)

:print

(a,b,c)

func(7,

8,9)

# 他的函式:

# 她的函式:

# 7 8 9

# 2333333

# 2333

python認識函式

出現了大量的if else 和迴圈的巢狀,的結構變得非常複雜,同時 重複量增加。和 之間的依賴性特別強烈 break的位置 函式 目的 簡化 開發,解耦合的一種手段。函式的意義 表示的是生活中的一種行為 行為 動作 行為在什麼時候會執行?人 吃飯的行為,行為只有在呼叫執行的時候才會發生動作。中的函式...

python基礎入門 09認識函式(二)

1 就是函式呼叫表示式的值 2 就是return關鍵字後的表示式的值 3 就是函式執行完成後返回給呼叫者的值 函式的呼叫過程 第一步 將實參傳遞給形參 傳參 用實參給形參賦值 第二步 執行函式體 第三步 獲取返回值 這個時候回到函式呼叫的位置 注意 函式在宣告的時候不會呼叫 如何看乙個函式的返回值是...

函式的基礎認識

函式是具有特定功能的一段 塊 函式定義完後不會去主動的執行,而是等待程式主動呼叫時 才會去執行 函式的宣告關鍵字 function 函式關鍵字 function 與 var關鍵字的行為幾乎一樣,都是在記憶體上開闢一段空間,用來儲存變數之中的資料 函式的宣告式 function 函式名 比如說 函式的...