python的函式 引數和返回值

2021-09-07 07:47:38 字數 4502 閱讀 7526

1、什麼是函式

函式就是對實現某一特定功能的**段的封裝。

2、函式的分類

3、函式的定義

a、語法

def 函式名(引數列表)

: 函式體

b、說明

def - python中宣告函式的關鍵字

函式名 - 識別符號,不能是關鍵字;pep8命名規範,見名知意。

() - 固定格式

引數列表 - 引數1,引數2,引數3……;這裡的引數叫形參。

功能是將函式外面的資料傳遞到函式裡面

: - 固定格式

函式體 - 實現功能的**段。乙個完整的函式體包含:函式說明文件、實現函式功能的**段、函式的返回值。

c、初學著宣告函式的步驟

確定函式的功能

根據功能給函式命名

確定形參(看實現函式的功能需不需要外面傳值近來)

實現函式功能

確定函式返回值

注意:函式的在宣告的時候不會執行函式體。只有在呼叫的時候才會執行。

def

my_sum

(num1, num2)

:"""

求兩個數的和。

:param num1:

:param num2:

:return:

"""print

(num1 + num2)

4、函式的呼叫

就是使用函式。

a、語法

函式名(實參列表)

b、說明

函式名 - 這個函式名對應的函式必須是已經宣告過的函式

() - 固定寫法

實參列表 - 實參是用來給新參賦值(用實參給形參賦值的過程就是傳參)

​ 實參和新參要一一對應。

c、呼叫過程

回到函式宣告的位置

用實參給新參賦值(傳參)

執行函式體

執行完函式體就確定並返回返回值

再回到函式呼叫位置,接著執行後面其他**

練習:n的階乘

def

factorial

(num1)

:"""

列印n的階乘

:param num1:

:return:

"""result =

1while num1:

result *= num1

num1 -=

1print

(result)

1、位置引數和關鍵字引數

根據實參的傳遞方式對引數進行的分類

a、位置引數:

實參的位置和形參保持一致,按形參宣告的先後順序一一賦值。

b、關鍵字引數:

呼叫函式的時候以 形參=實參的方式來傳參,這個時候實參的順序無所謂

def

func1

(a, b, c)

:print

(a, b, c)

# 通過位置引數給新參賦值

func1(10,

20,30)

deffunc2

(a, b, c)

:print

(a, b, c)

# 通過關鍵字引數給新參賦值

func2(c =

10, a =

20, b =30)

# 通過位置引數和關鍵字引數結合傳參(注意關鍵字引數必須在位置引數的後面)

func2(10,

20, c =

30)

2、引數預設值

宣告函式的時候,可以給引數賦預設值。

如果乙個形參有預設值了,那麼呼叫函式的時候這個引數就可以不用傳參。

有預設值的形參要放在沒有預設值的後面。

呼叫函式要保證每個引數都有值!

def

fun2

(a, b c=0)

:print

(a, b, c)

fun2(1,

2,3)

fun2(1,

2)fun2(b =

2, a =

1)

3、引數型別說明

型別說明只有提示功能,沒有約束功能。

a、給引數設定預設值,預設值的型別就是引數的型別。

b在形參後面加:型別命,來說明引數型別。這個方式呼叫的時候必須傳參。

c、函式宣告的時候在() 後面加 ->型別名,來說明函式返回值的型別。

def

list_item

(list1:

list

, index =0)

:print

(list1[index]

)

型別說明的好處:

傳參時候,對實參的型別進行說明。

實現函式功能的時候有型別相關的語法提示

def

list_item

(list1:

list

, index =0)

->

int:

return list1[index]

4、不定長引數

函式的引數不確定。

寫乙個函式,計算多個函式的和

方法一:宣告函式的時候,在引數名前加乙個*,可以用來同時獲取多個實參的值。實質是將帶*的引數變成元祖,將多個實參的值作為元祖的元素。

注意:如果函式中既有不定長引數又有普通引數,那麼不定長引數必須放在普通引數的後邊。

def

my_sum

(*nums)

:print

(nums)

print

(type

(nums)

)my_sum(1,

2,3,

4,5,

6)

def

my_sum

(*nums)

:print

(sum

(nums)

)

方法二:在引數名前加兩個*

傳參時需使用關鍵字傳參,會將引數變成乙個字典來獲取關鍵字引數的值,其他關鍵字作為key,實參作為value

def

my_sum

(**nums)

:print

(nums)

print

(type

(nums)

)my_sum(a =1)

# #

def

my_sum2

(**nums)

: total =

0for key in nums:

total += nums[key]

print

(total)

注意:

如果函式中既有不定長引數又有普通引數,那麼不定長引數必須放在普通引數後邊。

兩個*的引數要放在乙個*的後面

def

fun1

(*args,

**kwargs)

:print

(args, kwargs)

fun1(10,

3,4)

fun1(a=

10, b =

3, c =2)

fun1(90,

23, z =

3, y =3)

"""(10, 3, 4) {}

() (90, 23)

"""

1、什麼是返回值

a、返回值就是函式呼叫表示式的值,就是return關鍵字後面的表示式的值。返回值就是將函式裡面的資料傳遞到函式外面。

b、python中每個函式都有返回值,預設是none,如果遇到return ,return 後面是什麼返回值就是什麼。

函式呼叫表示式 - 呼叫函式的語句

return - 關鍵字,只能寫在函式體中。

return功能:

確定函式的返回值

結束函式,執行時遇到return,函式直接結束,並且將return後面的值作為函式的返回值。

def

func1()

:print

('***'

)

result = func1(

)print

(resut)

# none

2、多個返回值

return 值1, 值2, 值3… 相當於返回乙個元祖

def

fun3()

:return1,

2,3fun3(

)print

(type

(fun3())

)

3、怎麼確定函式是否需要返回值

函式執行完成後是否產生新的資料,如果產生新的資料就將這個資料用return返回。

python函式的引數和返回值

1 函式的引數 引數 其實就是一種變數 是一種特殊的變數 專門給函式接受資料使用的 生活場景 函式 行為 引數 行為需要的資源 案例 函式 展示使用者資訊 使用者 生活 創業 需要什麼資料 錢 def show info name name變數 名義上函式執行需要乙個資料 name 形式引數 形參 ...

python函式的引數和返回值

python 中,函式的引數是在小括號中定義和傳遞的 傳遞給函式的引數可以是任意的資料型別,比如 1,hello deffoo x,y 定義引數.print x 的值是 x print y 的值是 y foo 2,3 傳遞引數,簡稱傳參 x 的值是 2y 的值是 3 在定義引數的時候,還可以給它定義...

python 函式 引數 返回值

函式 function 也叫方法 method 是一組可以重複使用的 段。函式分為內部函式和使用者自定義函式。內部函式就是程式語言已經寫好了,使用者無序定義就能直接呼叫的函式,比如說len str print 等,但是這些函式還遠不能滿足實際開發,故使用者可以自定義函式。函式的結構是 def 函式名...