九、python開發之函數
阿新 • • 發佈:2018-05-03
個數 fun 多個參數 war 沒有 nbsp 高階函數 employ 默認 一、開發的三種方式
1、面向對象 class
2、面向過程 def
3、函數式開發 def
二、函數的傳參
1、設置一個函數,並用位置參數傳參(不論哪種傳參方式,位置參數一定要放在最前面傳參)
def func(x,y): #(註:x和y是形參。)
print(x)
print(y)
func(1,2) #(1和2是實參,也是位置參數,按位置傳參數,給形參的x和y)
2、函數傳參之默認參數
def func(x,y,z=1): #(在形參位置設定默認值,在運行函數式此位置沒有傳"實參"的時候使用默認值)註:默認"行參"得寫到後面位置,
print(x)
print(y)
print(z)
func(2,2) #(位置參數傳了兩個,最後位置使用了默認參數)
3、函數傳參之關鍵字參數
def func(x,y,z=1):
print(x)
print(y)
print(z)
func(y=2,x=1) #(使用關鍵字對應的方式傳參)
4、不設定傳參的位數
list = [‘1‘,‘2‘,‘3‘,‘4‘.‘5‘]
dict = employee(name=‘cai‘,age=18)
def func(x,y,*args,**kwargs): #定義一個*args,表示不限制傳參的個數,或者用來傳列表
print(x)
print(y)
print(*args)
print(**kwargs)
func(1,2,3,4,5) #傳多個參數給函數
func(1,2,*list) #將列表傳到函數中,不傳默認為空元組
func(1,2,*list,**dict) #將字典當成參數傳到函數中,不傳默認為空字典
三、高階函數
介紹:1、把一個函數名當做實參傳給另一個函數
2、返回值中包含函數名
四、遞歸:
介紹:1、每次遞歸的規模都應該減小,默認最大遞歸次數為999次。
2、效率不高,循環調用,影響程序運行效率。
3、必須定義結束值,不定義結束值就會形成死循環。
五、函數嵌套:
介紹:在函數體內定義另一個函數。
def max(x,y):
return x if x > y else y
def max4(a,b,c,d):
res1=max(a,b)
res2=max(res1,c)
res3=max(res2,d)
return res3
print(max4(1,2,3,4))
九、python開發之函數