python Python速成(二) 函式

2021-08-09 11:07:24 字數 1827 閱讀 2368

摘自:www.liaoxuefeng.com

python內建了很多有用的函式,我們可以直接呼叫。

要呼叫乙個函式,需要知道函式的名稱和引數,比如求絕對值的函式abs,只有乙個引數。可以直接從python的官方**檢視文件:

也可以在互動式命令列通過help(abs)檢視abs函式的幫助資訊。

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

我們以自定義乙個求絕對值的my_abs函式為例:

def

my_abs

(x):

if x >= 0:

return x

else:

return -x

請自行測試並呼叫my_abs看看返回結果是否正確。

請注意,函式體內部的語句在執行時,一旦執行到return時,函式就執行完畢,並將結果返回。因此,函式內部通過條件判斷和迴圈可以實現非常複雜的邏輯。

如果沒有return語句,函式執行完畢後也會返回結果,只是結果為none

return none可以簡寫為return

定義函式的時候,我們把引數的名字和位置確定下來,函式的介面定義就完成了。對於函式的呼叫者來說,只需要知道如何傳遞正確的引數,以及函式將返回什麼樣的值就夠了,函式內部的複雜邏輯被封裝起來,呼叫者無需了解。

python的函式定義非常簡單,但靈活度卻非常大。除了正常定義的必選引數外,還可以使用預設引數、可變引數和關鍵字引數,使得函式定義出來的介面,不但能處理複雜的引數,還可以簡化呼叫者的**。

我們先寫乙個計算x2的函式:

def

power

(x):

return x * x

對於power(x)函式,引數x就是乙個位置引數。

當我們呼叫power函式時,必須傳入有且僅有的乙個引數x

>>> power(5)

25>>> power(15)

225

現在,如果我們要計算x3怎麼辦?可以再定義乙個power3函式,但是如果要計算x4、x5……怎麼辦?我們不可能定義無限多個函式。

你也許想到了,可以把power(x)修改為power(x, n),用來計算xn,說幹就幹:

def

power

(x, n):

s = 1

while n > 0:

n = n - 1

s = s * x

return s

對於這個修改後的power(x, n)函式,可以計算任意n次方:

>>> power(5, 2)

25>>> power(5, 3)

125

修改後的power(x, n)函式有兩個引數:xn,這兩個引數都是位置引數,呼叫函式時,傳入的兩個值按照位置順序依次賦給引數xn

Python Python網路爬蟲(二)

中國大學排名定向爬蟲 url import requests from bs4 import beautifulsoup import bs4 獲取html defgethtmltext url try r requests.get url,timeout 30 r.raise for status...

強行終止python Python 基礎 二

type 可以判斷乙個 物件 變數是什麼資料型別 age input 請輸入你的年齡 print age,type age 執行結果 請輸入你的年齡 20 20 age int input 請輸入你的年齡 print age,type age 執行結果 請輸入你的年齡 20 20 2.這裡必須了解的...

Tensorflow速成學習筆記 二

根據tensorflow實戰google深度學習框架的樣例,詳細註解簡單神經網路 的各部分作用如下 import tensorflow as tf from numpy.random import randomstate 定義訓練資料batch的大小 batch size 8 定義神經網路的引數,每...