前面我們已經講過如何呼叫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...