關於函式高階的學習

2021-09-17 07:35:08 字數 2117 閱讀 6045

函式的引數傳遞

函式文件

lambda

map filter zip reduce enumerate

生成器與迭代器

裝飾器

位置引數——關鍵字引數——可變數量引數

定義和傳遞的基本順序

>>>def fun(a,b=6,*c,**d):   c是元組 d是字典

print('a=',a,'b=',b,'c=',c,'d=',d)

>>>fun(1)

a=1,b=6,c=(),d={}

>>>fun(a=1,b=2,c=3,d=4)

a= 1 b= 2 c= () d=

def 函式名([引數列表]):

『』'注釋『』『

函式體』

def fun(a,b=6,*c,**d):

'''這是函式'''

print('a=',a,'b=',b,'c=',c,'d=',d)

help(fun)

help on function fun in module __main__:

fun(a, b=6, *c, **d)

這是函式

匿名函式

《函式名》 = lambda 《引數列表》:《表示式》

f = lambda x,y : x + y

相當於def 《函式名》(《引數列表》)

《函式體》

return 《返回值列表》

臨時使用的小函式

不能有復合語句

map函式

做對映 第乙個引數function以引數序列中的每乙個元素呼叫function函式 返回包括每次函式function返回值的新列表

map(function,iterable,...)
iterable 序列

def square(x):

return x**2

map(square,[1,2,3,4,5,6])

生成迭代器

def square(x):

return x**2

list(map(square,[1,2,3,4,5,6]))

[1, 4, 9, 16, 25, 36]

def square(x,y,z):

return x+y+z

list(map(square,[1,2,3],[1,2,3,4],[1,2,3,4,5]))

out[26]: [3, 6, 9]

引數不等長 截斷按最短的來計算

filter

filter()用於過濾序列,過濾掉不符合的元素

filter(function,iterable)

返回true和false

zipzip(seq[,seq…])把兩個或多個序列中的相應項合併在一起 以元組格式返回 ,處理完最短項就停止

a=[1,2,3]

b=[4,5,6]

list(zip(*(zip(a,b))))

[(1, 2, 3), (4, 5, 6)]

a=[1,2]

b=[3,4]

dict(zip(a,b))

x= range(1,4)

y = range(4,7)

sum([i*j for i,j in zip(x,y)])

32x='abcd'

y='abcde'

[i==j for i,j in zip(x,y)]

[true, true, true, true]

enumerate用於將乙個可遍歷的資料物件(列表,元組,字串)組成乙個索引序列 同時列出資料和資料下表,一般用在for迴圈

#reduce

from functools import reduce

def add(x,y):

return x+y

reduce(add,[1,2,3,4,5])

15

函式高階學習

目標 1.能夠說出函式定義的多種方法和呼叫方式 2.能夠說出和改變函式內部this的指向 3.能夠說出嚴格模式的特點 4.能夠把函式作為引數和返回值傳遞 5.能夠說出閉包的作用 6.能夠說出遞迴的倆個條件 7.深拷貝和淺拷貝的特點 函式的定義和呼叫 this 嚴格模式 高階函式 閉包遞迴 函式的定義...

關於高階搜尋指令的學習

關於高階搜尋指令把搜尋範圍限定在特定站點中,如site 某某.com。site 後面跟的站點網域名稱,不要帶 http site 後面帶不帶www結果可能是不一樣的,因為有些網域名稱還包括二級網域名稱,如 site www.某某.com和site 某某.com,搜尋結果就不一樣 另外,site 和站...

python高階學習之高階函式

高階函式就是把函式當做引數傳遞的一種函式,例如 執行結果 map 接收乙個函式 f和乙個list,並通過把函式 f 依次作用在 list 的每個元素上,得到乙個新的 list 並返回。執行結果 reduce 函式接收的引數和 map 類似,乙個函式 f,乙個list,但行為和 map 不同,redu...