JAVA程式設計師學python 3 函式

2021-08-15 02:43:04 字數 1249 閱讀 1930

學習python的道路剛剛開始,這些分享只是可以進行簡單的python程式設計,希望大家能夠互相學習

檢視python內建函式**:

在python中,定義乙個函式要使用 def 語句,依次寫出函式名、括號、括號中的引數和冒號:,然後,在縮排塊中編寫函式體,函式的返回值用 return 語句返回。以自定義乙個求絕對值的 my_abs 函式為例:

def my_abs(x):

if x >= 0:

return x

else:

return -x

注意,函式體內部的語句在執行時,一旦執行到return時,函式就執行完畢,並將結果返回。因此,函式內部通過條件判斷和迴圈可以實現非常複雜的邏輯。如果沒有return語句,函式執行完畢後也會返回結果,只是結果為 none。return none可以簡寫為return。

遞迴函式注意

遞迴函式的優點是定義簡單,邏輯清晰。理論上,所有的遞迴函式都可以寫成迴圈的方式,但迴圈的邏輯不如遞迴清晰。使用遞迴函式需要注意防止棧溢位。在計算機中,函式呼叫是通過棧(stack)這種資料結構實現的,每當進入乙個函式呼叫,棧就會加一層棧幀,每當函式返回,棧就會減一層棧幀。由於棧的大小不是無限的,所以,遞迴呼叫的次數過多,會導致棧溢位。可以試試計算 fact(10000)。

python支援新增預設引數,例:

假設計算平方的次數最多,我們就可以把 n 的預設值設定為 2:

def power(x, n=2):

s = 1

while n > 0:

n = n - 1

s = s * x

return s

這樣一來,計算平方就不需要傳入兩個引數了:

>>> power(5) 25

由於函式的引數按從左到右的順序匹配,所以預設引數只能定義在必需引數的後面。

python也支援可變引數

可變引數的名字前面有個*號,可以傳入0個、1個或多個引數給可變引數:

>>> fn() ()

>>> fn('a')

('a',)

>>> fn('a', 'b')

('a', 'b')

>>> fn('a', 'b', 'c')

('a', 'b', 'c')

簡寫為:

def fn(*args):

print args

可變引數也不是很神秘,python直譯器會把傳入的一組引數組裝成乙個tuple傳遞給可變引數,因此,在函式內部,直接把變數 args 看成乙個 tuple 就好了。

程式設計師學python 程式設計師學Python

章python基礎1 1.1表示式和計算1 1.1.1數值計算1 1.1.2標準函式和數學函式包5 1.1.3字串7 1.2變數和賦值10 1.2.1名字 變數和賦值10 1.2.2簡單指令碼程式12 章python基礎1 1.1表示式和計算1 1.1.1數值計算1 1.1.2標準函式和數學函式包5...

黑馬程式設計師 java基礎總結 3

1 函式 方法 方法是定義在類中的,具有一定功能的,被封裝起來的 塊。根據其在記憶體中的分配方式可以分為靜態方法和非靜態方法。方法定義格式 修飾符 返回值型別函式名 引數型別 形式引數1 引數型別 形式引數2 執行語句塊 return返回值 返回值型別 函式執行後的返回結果的資料型別。引數型別 是形...

程式設計師應該學開車

說實在的,過去從來也沒有想到這輩子還會學會開車。沒學會開車之前,有時做夢開車,只不過更像開飛機。現在學會開車了,結果經常做夢找不到車,或者找不到地方停車。閒話少說,這會兒想說說開車和程式設計之間的關係。用我外公 抗戰前就開車了,開了50年了 說 開車很簡單,兩分鐘就能學會。但是要開好車,則需要一輩子...