第5天 Python 函式

2022-01-29 17:25:01 字數 2181 閱讀 1837

函式是組織好的,可重複使用的,用來實現單一,或相關聯功能的**段,所以我經常說函式是程式設計師規模化使用的基礎。

函式能提高應用的模組性,和**的重複利用率。在程式設計中,常將一些常用的功能模組編寫成函式,放在函式庫中供公共選用。善於利用函式,可以減少重複編寫程式段的工作量。

定義乙個函式有如下幾個步驟

任何傳入引數和自變數必須放在圓括號中間。圓括號之間可以用於定義引數。

函式的第一行語句可以選擇性地使用文件字串—用於存放函式說明。

函式內容以冒號起始,並且縮排。

return [表示式] 結束函式,選擇性地返回乙個值給呼叫方。不帶表示式的return相當於返回 none。

語法

def 函式名(引數列表):

函式體

預設情況下,引數值和引數名稱是按函式宣告中定義的順序匹配起來的。

乙個最簡單的函式示例:

#定義乙個函式

def hello() :

print("hello world!")

#呼叫函式

hello()

再來乙個代引數的示例:

#定義乙個函式

def hellon(name) :

print("hello world!", name)

#呼叫函式

hellon('neo')

我們使用函式實現乙個基本的加減乘除運算。

#定義函式

def add(a,b) :

return a+b

def reduce(a,b) :

return a-b

def multiply(a,b) :

return a*b

def divide(a,b) :

return a/b

#呼叫函式

print(add(1,2))

print(reduce(12,2))

print(multiply(6,3))

print(divide(12,6))

發現定義函式可以實現**的多次復用。

某些情況下,我們需要乙個函式返回多個值,python 也是支援的。

#定義多個返回值函式

def more(x, y):

nx = x + 2

ny = y - 2

return nx, ny

#呼叫函式

x, y = more(10, 10)

print(x, y)

有時候我們需要反覆呼叫某個函式得到乙個最後的值,這個時候使用遞迴函式是最好的解決方案。

程式語言中,函式func(type a,……)直接或間接呼叫函式本身,則該函式稱為遞迴函式。遞迴函式不能定義為內聯函式

舉個例子,我們來計算階乘n! = 1 x 2 x 3 x ... x n,用函式fact(n)表示,可以看出:

fact(n) = n! = 1 x 2 x 3 x ... x (n-1) x n = (n-1)! x n = fact(n-1) x n
所以,fact(n)可以表示為n x fact(n-1),只有n=1時需要特殊處理。

於是,fact(n)用遞迴的方式寫出來就是:

def fact(n):

if n==1:

return 1

return n * fact(n - 1)

這樣乙個遞迴函式就定義完了。

我們試著呼叫一下 6 的階乘是多少,可以這樣呼叫:

print(fact(6)) 

# 輸出內容

# 720

類似的需要都可以按照這樣的方式來實現。

文中示例**:python-100-days

本節給大家介紹了 python 函式的使用。

示例**:python-100-days-day005

參考:

python第5天學習

函式以def開頭,後面接函式名和圓括號 函式執行的 以冒號為起始,並且縮排。return結束函式選擇返回乙個值給呼叫方不用表示式return相當於返回none。可以沒有返回值。def function d ddd return c 函式的呼叫 temp function s wemp是s print...

python基礎 第5天

推導式建立序列 推導式是從乙個或者多個迭代器快速建立序列的一種方法。它可以將迴圈和條件判斷結合,從而避免冗長的 推導式是典型的python風格,會使用它代表你已經超過python初學者的水平。列表推導式 列表推導式生我列表物件,語法如下 表示式 for item in 可迭代物件 或者 字典推導式 ...

學習Python第5天

字串的定義 轉義字元 描述 反斜槓符號 單引號 雙引號 n 換行 t 橫向製表符 tab r 回車print let s go let s go print let s go let s go print c now c now print c program files intel wifi he...