Python30期第十三天課程總結

2021-10-06 06:04:43 字數 1494 閱讀 6475

生成器函式

總結

1.推導式特點:用一行迴圈判斷遍歷出一系列資料的方式

2.推導式在使用時,只能用for迴圈和判斷,而且判斷是能是單項判斷

3.練習:將列表中的字元變成小寫

lst = ["addd","ddddd","ddaa","sss"]

常規寫法:

lst_new =

for i in lst:

res= i.lower()

print(lst_new)

推導式寫法:

lst = [i.lower() for i in lst ]

print(lst)

1.enumerate(iterable,[start=0])

功能:列舉 ; 將索引號和iterable中的值,乙個乙個拿出來配對組成元組放入迭代器中

引數: iterable: 可迭代性資料 (常用:迭代器,容器型別資料,可迭代物件range)

start: 可以選擇開始的索引號(預設從0開始索引)

返回值:迭代器

2.zip(iterable, ... ...)

功能: 將多個iterable中的值,乙個乙個拿出來配對組成元組放入迭代器中

iterable: 可迭代性資料 (常用:迭代器,容器型別資料,可迭代物件range)

返回: 迭代器

特點:不能匹對的多餘值會被捨棄

1.生成器本質是迭代器,允許自定義邏輯的迭代器

2.迭代器和生成器區別:

迭代器本身是系統內建的.重寫不了.而生成器是使用者自定義的,可以重寫迭代邏輯

3.生成器可以用兩種方式建立:

(1)生成器表示式 (裡面是推導式,外面用圓括號)

(2)生成器函式 (用def定義,裡面含有yield)

1.yield 類似於 return

共同點在於:執行到這句話都會把值返回出去

不同點在於:yield每次返回時,會記住上次離開時執行的位置 , 下次在呼叫生成器 , 會從上次執行的位置往下走

而return直接終止函式,每次重頭呼叫

yield 6 和 yield(6) 2種寫法都可以 yield 6 更像 return 6 的寫法 推薦使用

2. send

# next和send區別:

next 只能取值

send 不但能取值,還能傳送值

# send注意點:

第乙個 send 不能給 yield 傳值 預設只能寫none

最後乙個yield 接受不到send的傳送值

3.無論是next 還是 send 都可以呼叫生成器裡面的資料

send 不但可以呼叫,還可以給yield 傳送值

生成器應用在大資料的場景中,按照需求依次取值,

切記不要直接迭代生成器所有資料

一旦資料量較大,類似於死迴圈

Python30期第二十三天課程總結

1.觸發時機 當物件被記憶體 的時候自動觸發 1.頁面執行完畢 所有變數 2.所有物件被del的時候 功能 物件使用完畢後資源 引數 乙個self接受物件 返回值 無 2.頁面執行完畢 所有變數 3.當乙個值,沒有任何變數指向或者說引用,這個值才會被真正的釋放1.觸發時機 使用print 物件 或者...

Oracle課程檔案,第十三天

配置可恢復性 ontrol files 控制檔案 parameter 引數 show 顯示 select name from v database 檢視當前的資料庫 控制檔案 sql show parameter control files sql select from v controlfile...

學習Python 第十三天

二叉樹 一,名詞 根邊 樹葉 葉子 沒有兒子 兄弟 具有相同父親的節點 祖父和孫子 路徑路徑的長 深度 從根到該點 高 從該點到葉子 祖先 後裔 真祖先 真後裔 二,樹的實現 class treenode def init self,data,firstchild,nextsibling self....