函式式程式設計與引數

2022-05-08 18:30:09 字數 1355 閱讀 7728

函式:def定義,有返回值

過程:def定義,沒有返回值

函式式程式設計是 抽象程度很高的程式設計正規化,純粹的函式式程式語言編寫的函式沒有變數。所以,任意函式,只要輸入是確定的,輸出就是確定的,就像數學裡的函式,變數和因變數的關係是明確的。

python對函式式程式設計提供部分支援,由於python允許使用變數,所以python不是純函式式程式語言。

數學表示式:(1+2)*3-4

# 面向過程

var a = 1 + 2

var b = a * 3

var c = b - 4# 函式式

var result = subtract(multiply(add(1, 2), 3), 4)

函式式程式設計的語言:lisp, hashshell,erlang

形參與實參

>>> def test(a, b):  #

a,b就是形參

... print

(a)...

print

(b)...

>>> test(1, 2) #

1,2就是實參

12

預設引數(宣告時)

>>> def test(a, b=2): #

這裡的預設引數就是b

... print

(a)...

print

(b)...

>>> test(1)

12

位置引數與關鍵字引數(呼叫時)

>>> def

test(a, b, c):

...

print

(a)...

print

(b)...

print

(c)...

>>> test(1,c=2,b=3) #

這裡的1就是位置引數,2和3是關鍵字引數13

2

不固定引數

*args:把對應的位置引數放到元組裡

**kwargs:把對應的關鍵字引數放到字典裡

>>> def test(*args, **kwargs):

...

print

(args)

...

print

(kwargs)

...>>> test(1,2,3,a=4,b=5) # 等價於》 test(*[1,2,3], **)

(1, 2, 3)

宣告函式時,不固定引數一定要放在位置引數和預設引數的後面

呼叫函式時,關鍵字引數一定要放在位置引數的後面

python 函式式程式設計和引數

return的三種情況,如果不寫,返回none,如果寫乙個就返回寫的那個,如果多個,就放在乙個元組裡返回,還有如果返回是要給函式沒有括號,就返回這個函式。如果有括號,就返回這個函式執行後的結果,然後在返回返回值。def test1 print hello def test2 print hello ...

函式式程式設計中的引數

函式式程式設計中引數使用的學習筆記 def test x,y,z print 引數x x print 引數y y print 引數z z test a b z 實參與形參一一對應 x a y b z z print test y a x b z c 關鍵引數呼叫,跟形參位置無關 x b y a z ...

ios 函式式程式設計與響應式程式設計

ios函式式程式設計 響應式程式設計概念 如果想再去呼叫別的方法,那麼就需要返回乙個物件 如果想用 去執行,那麼需要返回乙個block 如果想讓返回的block再呼叫物件的方法,那麼這個block就需要返回乙個物件 即返回值為乙個物件的block 在網上流傳乙個非常經典的解釋 響應式程式設計的概念 ...