摘自: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)
函式有兩個引數:x
和n
,這兩個引數都是位置引數,呼叫函式時,傳入的兩個值按照位置順序依次賦給引數x
和n
。 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 定義神經網路的引數,每...