python 定義函式

2021-09-01 18:25:59 字數 1557 閱讀 3744

前面我們已經講過如何呼叫python內建的一些函式,但當內建函式不能滿足我們的需求時,就需要自己定義函式,那麼在python中如何自己定義函式呢?下面我們重點講解python中函式的定義與使用。

在python中,定義函式使用def語句,def語句後依次時函式名,括號,括號中的函式引數以及冒號,最後是冒號後縮排的函式體,函式的返回值使用return 語句返回,如果不寫return 或者說寫return 但沒有寫具體的返回值,都和return none一樣,返回none值。下面我們定義乙個求絕對值的函式。

>>> def my_abs(x):

if x >= 0:

return x

else:

return -x

>>> my_abs(-9)

9

可以看到,當函式執行到return 時,函式執行完畢,就不再繼續執行。

空函式,如果我們想定義乙個空函式,可以使用pass語句。

>>> def pop():

pass

pass語句什麼都不做,僅僅作為乙個佔位符存在。那麼有人就問了,既然什麼都不做,那麼要它幹什麼或者說意義是什麼?比如說我們現在定義乙個函式,但具體的函式體還沒有想好怎麼去寫,這是就可以使用pass語句定義乙個空函式,使編譯的時候不會報錯,進而影響其他模組的設計。

返回多個值

前面我們定義的函式返回值是乙個,那麼函式可以返回多個值嗎?答案是肯定的。比如在遊戲中,遊戲車從乙個點移動到另乙個點,必然會涉及到座標點,而座標點就包含兩個以上的值,甚至還包含速度等等資訊。這就要求我們定義函式時能返回多個值。下面我們來看乙個例子。

>>> import math

>>> def move(x,y,step,angle=0):

nx = x + step * math.cos(angle)

ny = y - step * math.sin(angle)

return nx,ny

>>> x,y = move(100,100,60,math.pi/6)

>>> print(x,y)

151.96152422706632 70.0

首先,說明 import math 表示匯入 math 包,並允許使用其中的sin,cos函式。其次,其實python函式返回值還是乙個值,我們看到返回兩個或者多個其實是一種假象。返回值是乙個tuple。只不過在語法上,tuple可以省略括號,並且把其中的元素依次賦值給多個變數。python返回的多個值,其實是乙個tuple.

>>> r = move(100,100,60,math.pi/6)

>>> print(r)

(151.96152422706632, 70.0)

小結:

1.定義函式時,需要明確函式名和引數個數。

2.函式內部用return返回函式計算結果,如果沒有寫return,則返回return none.

3.函式可以同時返回多個值,但其實時返回乙個tuple,把其中的元素分別賦予了多個變數。

Python定義函式

1.1 定義函式基礎 參考 define the function def fib n print the fibonacci series up to n.a,b 0,1 while a n print a a,b b,a b 1.2 函式預設引數 default arguments def as...

python 定義函式

coding utf 8 python中定義乙個函式要使用def語句,依次寫出函式名 括號 括號中的引數和冒號 然後在縮排塊中寫函式體,函式的返回值用return返回 def my abs x if x 0 return x else return x 如果沒有return語句,函式執行完畢也會返回...

Python函式定義

可以在程式的開頭定義函式,函式的定義如下所示,形參可以有也可以沒有,也可以有多個 def 函式名 形參.函式注釋 函式體下面有個例項 def convert currency im,er 匯率兌換函式 param im 需要兌換的金額 param er 匯率 return 兌換完成金額 out im...