函式中包含yield語句的函式就是生成器函式,呼叫返回生成器物件.
yield 是個表示式,可以返回值.
生成器表示式
m = (i for i in range(10))
生成器的應用
1,無限迴圈
2,計數器
3,斐波那契數列
4,生成器互動
5,協程coroutine
lambda構建匿名函式
定義(lambda 引數:表示式)(實參)
可以沒有引數,冒號後面不能出現等號.
返回常量的值
print( ( lambda:0 ) ( ) )
高階函式
[x for x in (lambda *arg:map(lambda x: x+1,arg))(*range(6))]
[x for x in (lambda *arg:map(lambda x: (x+1,arg),arg))(*range(6))]
[(1, (0, 1, 2, 3, 4, 5)),
(2, (0, 1, 2, 3, 4, 5)),
(3, (0, 1, 2, 3, 4, 5)),
(4, (0, 1, 2, 3, 4, 5)),
(5, (0, 1, 2, 3, 4, 5)),
(6, (0, 1, 2, 3, 4, 5))]
lambda x :(x+1,arg) # 意思是生成乙個二元元組,如果換成就是生成二元列表.
map方法
map()用某種函式的方法對可迭代物件進行操作.如高階函式.
非線性結構
是n個元素的集合高階函式
高階函式至少要滿足下面條件中的乙個
接受乙個或多個函式作為引數
輸出乙個函式。
過濾函式filter
定義:filter(function,iiterable)
對可迭代物件進行遍歷,返回乙個迭代器。
function函式是乙個引數的函式,且返回值應當是bool型別,或者返回值等效布林值。
如果function引數是none,則過濾掉等效none的值。
否則過濾出符合函式的值。
對映map
返回乙個迭代器
定義map(function,*可迭代物件(可變位置引數))
當傳入乙個 可迭代物件時,按照function方法計算可迭代物件值,然後返回。
如果傳入兩個 例如:
list(map(lambda x,y :(x,y),"abcdef",range(6)))
[('a', 0), ('b', 1), ('c', 2), ('d', 3), ('e', 4), ('f', 5)]
乙個簡單的裝飾器
import datetime
import time
# print(datetime.datetime.now())
def logger(fn):
def swap(*args,**kwargs):
start = datetime.datetime.now()
time.sleep(2)
ret = fn(*args,**kwargs)
deltime = (datetime.datetime.now()-start).total_seconds()
print("tool".format(deltime))
return ret
return swap
@logger
def add(x,y):
return x+y
python文件字串
在函式語句塊的第一行用三引號寫多行文字。
慣例首字母大寫,第一行寫概述,空一行,第三行寫詳細描述。
可以使用—doc—這個屬性訪問該文件。
functools模組
第五周周記
第五周周記 本週完成了 1.html的網頁設計作業,學習了標籤 用 製作網頁 製作表單站點等。2.學習了資料結構的順序表和鏈式表的動態儲存和應用,以及如何寫 3.學習了ps 選單的部分功能。4.學會了繪製一張網路拓撲圖。希望能夠更加努力,收穫成長。週數專業學習目標 專業學習時間 新增 量 部落格發表...
第五課第二週筆記
onehot轉換 def convert to one hot y,c y np.eye c y.reshape 1 return y def read glove vecs glove file with open glove file,r encoding utf8 as f words set...
第五次周記
恭喜202011班第二次籃球小組賽取得勝利!雖然無人在旁邊喝彩加油 估計天氣太冷大家都不願意出來 天氣轉寒 比賽中不斷有隊員腳抽筋,但最終還是打贏了!了不起!11班!我看完了全程籃球賽,抓拍了各種精彩瞬間 其中也不缺各種可製成表情包的 給我感受最深的大概就是打球真讓人暴躁啊,主要是場上的人都很暴躁 ...