python函式之函式的定義
阿新 • • 發佈:2018-11-02
全部測試程式碼
#!/usr/bin/env python3 #_*_ coding:utf-8 _*_ #函式的定義 #def 方法名(引數列表):下一行縮排編寫方法體,返回值使用return,返回空可直接寫return #將函式定義在py檔案中需要在python直譯器中使用from filename import 函式名 來匯入方法 #def my_abs(x): # if x >=0: # return x # else: # return -x #print(my_abs(-100)) #空函式 pass 語句,一個方法裡面什麼都不做,定義一個空函式可以使用pass,pass相當於java中的todo #pass用來佔位,現在不知道如何實現,先定義好這個方法,用pass佔位,等想好了思路再來寫具體的方法 #if age > 10: # pass #引數檢查 #1.函式中定義了一個引數,呼叫的時候傳了兩個,則會報型別錯誤 #2.函式內部使用的int值,傳入的是str的時候,也會報型別錯誤 #3.對輸入的型別進行判斷 #def my_abs(x): # if not isinstance(x,(int,float)): #isinstance()接收兩個引數,引數1:判斷的物件,引數2,被判斷的物件或者物件集合 # raise TypeError('bad operand type') # if x >= 0: # return x # else: # return -x # print('做了引數型別判斷後的--->',my_abs('a')) #返回多個值 import math def move(x, y, step, angle=0): nx = x + step * math.cos(angle) ny = y - step * math.sin(angle) return nx, ny r=move(100,100,60,math.pi/6) print(r)
1.函式的定義
def 方法名(引數列表):下一行縮排編寫方法體,返回值使用return,返回空可直接寫return
def my_abs(x):
if x >=0:
return x
else:
return -x
print(my_abs(-100))
執行結果
2.空函式 pass
#一個方法裡面什麼都不做,定義一個空函式可以使用pass,pass相當於java中的todo
#pass用來佔位,現在不知道如何實現,先定義好這個方法,用pass佔位,等想好了思路再來寫具體的方法
if age > 10:
pass
3.引數檢查
如果在第一段程式碼中,輸入str或者除int和float之外的型別,則會報型別錯誤,所以很有必要在變數使用之前作型別判斷
if not isinstance(x,(int,float)): #isinstance()接收兩個引數,引數1:判斷的物件,引數2,被判斷的物件或者物件集合
raise TypeError('bad operand type')
if x >= 0:
return x
else:
return -x
4.返回多個值
python支援返回一個或多個值,一個不可變的tuple
import math def move(x, y, step, angle=0): nx = x + step * math.cos(angle) ny = y - step * math.sin(angle) return nx, ny r=move(100,100,60,math.pi/6) print(r)
執行結果
總結:
1,定義函式確定函式名和引數列表
2.引數傳入函式後,先對引數進行容錯處理,新增型別判斷
3.函式體內,使用return返回結果,不寫則表示return None;
4.函式可以return 一個或多個值,多個值時,是一個不可變的tuple