在工作中為了提高代碼編寫的效率,通常會把常用的具有獨立功能的代碼用函數封裝起來。
定義函數:組織好的可以重複使用的用來實作單一功能的代碼
# 定義函數的格式如下# def 函數名(參數1,參數2,參數3): # 函數體# return 語句
# 函數名:最好是取展現函數功能的名字,一般用小寫字母和單下劃線、數字等組合def hello():# 參數:根據函數功能,括号裡可以有多個參數,也可以不帶參數,命名規則與函數名相同# 規範:括号是英文括号,後面的冒号不能丢 print('hello world')# 函數體:函數體就是展現函數功能的語句,要縮進,一般是四個空格 return
調用函數:執行定義好的代碼
# 調用函數的格式如下# 函數名()hello()
hello world
函數的參數類型:位置參數、預設參數、不定長參數
•位置參數
# 位置參數def num(x): # x為位置參數 return 2 * x num(3) # 調用函數時有且僅有一個參數X
6
# 位置參數def num(x,y): # x,y為位置參數 return x*ynum(3,3) # 調用函數時,傳入的兩個值按照位置順序依次指派給x,y
9
•預設參數
# 比如經常要計算 x*2,這個時候可以把第二參數設定為2def num(x, y=2): #預設參數需要放在位置參數後 return x*ynum(3)
6
•不定長參數
def calc(numbers): sum = 0 for i in numbers: sum = sum + i*i return sumcalc([1,3,9])calc((1,3,9)) # 在未使用不定長參數時需要先傳入list和tuple
91
# 不定長參數:即不确定傳遞參數的數量,格式比較特殊,是一個星号 * 加上參數名def calc(*numbers): sum = 0 for i in numbers: sum = sum + i*i return sumcalc(1,3,9)
91
num = [1,3,9] # 也可以先放一個list,在把list作為可變參數放進去def calc(*numbers): sum = 0 for i in numbers: sum = sum + i * i return sumcalc(*num)
91
•傳回值
return 語句
- 如果不是立即要對傳回值做操作,那麼可以使用 return 語句保留傳回值 ;
- 需要多次調用函數時,可以在定義一個主函數 main(),調用非主函數的傳回值 ;
- Python 的函數傳回值可以是多個,多個傳回值的資料類型數元組 ;
- 沒有 return 語句的函數預設為 None 值 ;
- 一旦函數内部遇到 return 語句,就會停止執行并傳回結果。你可以運作下列的代碼。
# 比較大小def Max_num(a,b): if a>b: return a elif a==b: return '一樣大' else: return bprint(Max_num(22,33))
33
