python入門(五)函數的定義
阿新 • • 發佈:2018-04-17
函數 高階函數 python中函數的定義
以def開頭,後面跟函數定義的名稱和())‘括號中定義參數’ 以冒號開始,並且進行縮放,return結束
如:
匿名函數:
以def開頭,後面跟函數定義的名稱和())‘括號中定義參數’ 以冒號開始,並且進行縮放,return結束
如:
def hello (ming):
print ming
return
傳遞參數:
ming=[1,2,3]
ming="ok"
如上所示,變量是沒有類型的,可以為list可以為str
參數分為
必備參數
關鍵字參數
默認參數
不定長參數
必備參數:
def hello (ming):
print ming
return
調用函數
hello();
那麽會報錯
關鍵字參數:
def hello (ming):
print ming
return
調用函數
hello(ming="ok");
輸出就是ok
缺省函數:
def hello (n,m=10):
print n
print m
調用函數
hello(n=20,m=20);
hello(n=100
返回值
n=20 m=20
n=100 m=10
不定長參數:
def hello (*args):
print args
return
調用函數
hello(1);
hello(1,2,3,4)
輸出
1
1,2,3,4
正常函數:
def hello (n,m):
print n*m
匿名函數:
lambda n,m:n*m
多個形參:
def hello (a,*args,**kwargs):
print args
return
調用函數
hello(1,2,3,4,n=1,m=2)
輸出:
1
(2,3,4)
{n:1,m:2}
高階函數:
map是計算乘積的高階函數 def hello(x): print x * x map(hello,[1,2,3,4]) 輸出相同: 1,4,9,16 reduce是計算累計的高階函數 def hi (x,y): print x+y reduce(hi,[1,2,3,4]) 輸出同樣一樣: 15
SORTED排序是高階函數中用的比較多的
n = [5,7,6,3,4,1,2]
m = sorted(n)
print n
[5, 7, 6, 3, 4, 1, 2]
print m
[1, 2, 3, 4, 5, 6, 7]
A=dict(a=1,c=2,b=3,d=4)
如果我們直接排序
print(sorted(A))
[‘a‘, ‘b‘, ‘c‘, ‘d‘]
print(sorted(A.item(), key=lambda x:x[1]) )
[(‘a‘, 1), (‘b‘, 2), (‘c‘, 3), (‘d‘, 4)]
按倒敘排序
print(sorted(A.item(), key=lambda x:x[1],reverse=True) )
[(‘d‘, 4), (‘b‘, 3), (‘c‘, 2), (‘a‘, 1)]
python入門(五)函數的定義