Python學習之路 函式

2021-10-06 08:00:38 字數 2849 閱讀 2056

函式:降低程式設計難度和**復用

一:函式的定義

函式是一段**的表示

def

函式(引數(零個或多個)

>):

函式return

返回

#計算 x!

deffunction

(x):

#定義乙個函式 function()

s =1for i in

range(1

,x +1)

:#for迴圈計算階乘

s *= i

return s

a = function(10)

#輸入實參,呼叫函式

函式定義時,1、指定的引數是一種佔位符。

​ 2、引數是輸入,函式體是處理,結果是輸出(ipo程式設計式)。

函式定義後,不呼叫不執行。

二:引數

1、引數個數:函式可以有引數,也可以沒有,但必須保留括號。

2、可選引數傳遞:函式定義時可以為某些引數指定預設值,構成可選引數。

def

函式(非可選參

,可選參):

函式return

返回

#計算階乘並除以某個數

deffunction

(x,y =1)

:#定義乙個函式 function(),y為可選引數

s =1for i in

range(1

,x +1)

:#for迴圈計算階乘

s *= i

return s//y

a = function(10,

5)#輸入實參,呼叫函式

3、可變引數傳遞:函式定義時可以設計可變數量引數,既不確定引數的總數量

def

函式(參

,*b )

:函式return

返回

#計算n!乘數

deffunction

(n,*b)

:#*b可變引數

s =1for i in

range(1

, n+1)

: s *= i

for item in b:

s *= item #把所有的引數都遍歷一遍

4、引數傳遞的兩種方式:函式呼叫時,引數可以按照位置或名稱方式傳遞。

#計算階乘並除以某個數

deffunction

(x,y =1)

: s =

1for i in

range(1

,x +1)

: s *= i

return s//y

a = function(10,

5)#引數按照位置方式傳遞

print

(a)b = function(y =

5, x =10)

#引數按照名稱方式傳遞

三:函式的返回值

1、函式的返回值:函式可以有返回值,也可以沒有,可以有return,也可以沒有;return可以傳遞0個返回值,也可以傳遞任意多個返回值。

def

function

(n, m=1)

: s =

1for i in

range(1

, n +1)

: s *= i

return s//m, n, m

a, b, c = function(10,

5)print

(a, b, c)

print

(function(10,

5))#返回元組型別

四:區域性變數和全域性變數

1、區域性變數和全域性變數是不同變數

區域性變數是函式內部的佔位符,與全域性變數可能重名但不同

函式運算結束後,區域性變數被釋放

可以使用global保留字在函式內部使用全域性變數

2、區域性變數為組合資料型別且未建立,等同於全域性變數

3、使用規則

基本資料型別,無論是否重名,區域性變數與全域性變數不同

可以通過global保留字在函式內部宣告全域性變數

組合資料型別,如果區域性變數未真實建立,則是全域性變數

python學習之路 函式

args位置引數不能寫在 kwargs關鍵字引數後面 kwargs 接受n個關鍵字引數,把關鍵字引數轉化為字典。def test kwargs print kwargs test name age age 22 列印結果為 args 接受n個位置引數,把引數轉化為元組形式def test args ...

python學習之路七 函式

python函式 1.定義函式 def hello user print hello word 2 函式中傳遞形參與實參 a,b即為形參 b給到了預設值,在呼叫時b引數可以傳遞,也可以不傳遞 def function a,b 0 print a b 3.返回值 def get sum a,b ret...

Python學習之路 高階函式

python語言中,一切皆物件。函式本身也是乙個物件,我們知道函式的引數可以傳遞任意物件,函式的返回值也可以返回任意物件,那麼在python中函式能不能傳遞或者返回乙個函式呢?答案是當然可以,我們把這種傳參為函式或者返回值為函式物件的函式稱為高階函式。定義 在計算過程中,如果其中後一步都要用到前一步...