python學習第五天筆記

2021-10-05 10:26:58 字數 3177 閱讀 7086

一.for迴圈和可迭代物件遍歷

①.for迴圈通常用於可迭代物件的遍歷。for迴圈格式如下:

for 變數 in 可迭代物件:

(縮排)迴圈體語句

②.可迭代物件,python包含以下幾種可迭代物件:

1.序列。包含:字串、列表、元組。

2.字典

3.迭代器物件

4.生成器函式

5.檔案物件

③.range物件

range物件是乙個迭代器物件,用來產生指定範圍的數字序列。格式為:

rang(start,end [,step])

生成的數值串行從start開始到end結束(不包含end)。若沒有寫start,則預設從0開始,step是步長,預設為1.

for i in range (10)

print(i)

0,1,2,3,4,5,6,7,8,9

for i in range (1,10)

print(i)

1,2,3,4,5,6,7,8,9

for i in range (3,10,2)

print(i)

3,5,7,9

④.巢狀迴圈,乙個迴圈體內可以巢狀另乙個迴圈,一般稱為「巢狀迴圈」,或者「多重迴圈」。

⑤.break語句,用於while和for迴圈,用來結束整個迴圈。當有巢狀迴圈時,break語句只能跳出最近一層的迴圈。

⑥.continu語句,用於結束本次迴圈,繼續下一次迴圈,有多個巢狀迴圈時,continu語句只能跳出最近一層的迴圈。

⑦.else語句,while和for迴圈可以附帶乙個else語句(可選),如果for、while語句沒有被break語句結束,則會執行else子句,否則不執行。格式如下:

while 條件表示式:

(縮排)迴圈體

else:

(縮排)語句塊

或者for 變數 in 可迭代工具:

(縮排)迴圈體

else:

(縮排)語句塊

二.迴圈**優化,雖然計算機越來越快,空間也越來越大,但仍要提高**的執行效率,遵守下面三個原則可以大大提高執行速度,避免不必要的低效計算:

(1)儘量減少迴圈內部不必要的計算

(2)巢狀迴圈中,儘量減少內部迴圈的計算,盡可能向外提。

(3)區域性變數查詢較快,盡量使用區域性變數

eg:

這兩個程式雖然執行結果都一樣,但是第二個程式中,外提乙個計算,減少了內部計算,執行時間也將減少。

其他優化手段:

1.連線多個字串,使用join()而不使用+

2.列表進行元素插入和刪除,盡量在列表尾部操作。

三.使用zip()並行迭代

我們可以通過zip()函式對多個序列進行並行迭代,zip()函式在最短序列「用完」時就會停止。

四.推導式建立序列,推導式是乙個或者多個迭代器快速建立序列的一種方法,他可以將迴圈和條件判斷結合,從而避免冗長的**。

(1)列表推導式生成列表物件,語法如下:

[表示式 for item in 可迭代物件] 或者 [表示式 for item in 可迭代物件 條件判斷]

[x for x in range(1,5)]

[1,2,3,4]

[x*2 for x in range(1,5)]

[2,4,6,8]

[x*2 for x in rang(1,20) if x%5==0]

[10,20,30]

(2)字典推導式生成字典物件,格式如下:

類似於列表推導式,字典推導也可以增加if條件判斷、多個for迴圈。

(3)集合推導式,與列表推導式的語法格式類似:

,或者

(4)生成器推導式(生成元祖):乙個生成器只能執行一次,第一次迭代可以得到資料,第二次迭代資料不存在。

gnt=(x for x in rang(1000) if x%9==0)

for x in gnt:

print(x,end=』』)

9,18,27,36,45,54,63,72,81,90,99

for x in gnt:

print(x,end=』』)

五.函式

①.基本概念:

(1)乙個程式有乙個個任務組成;函式就是代表乙個任務或者乙個功能。

(2)函式是**腹痛的通用機制。

②.分類

(1)內建函式

(2)標準庫函式

(3)第三方庫函式

(4)使用者自定義函式

③函式的定義和呼叫

(1)語法格式:

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

『』『文件字串』』』

函式體/若干語句

要點:(1)python執行def時,會建立乙個函式物件,並繫結到函式名變數上。

(2)引數列表:

1.圓括號內是形式引數列表,又對各引數則是用逗號隔開。

2.形式引數不需要宣告型別,也不需要指定函式返回值型別。

3.無引數,也必須保留空的括號。

4.參列表必須與形參列表一一對應。

(3)return返回值

1.如果函式體中包含return語句,則結束函式執行並返回值。

2.如果函式體中不包含return語句,則返回none

(4)呼叫函式之前,必須要先定義函式,即先呼叫def建立函式物件

1.內建函式物件自動建立

2.標準庫或者第三方庫函式,通過import匯入模組

④.返回值

return返回值要點:

1.如果函式體中包含return語句,則結束函式執行並返回值。

2.如果函式體中不包含return語句,則返回none

3.要返回多個返回值,使用列表、元組、字典、集合將多個值存起來

def print_start(n):

print(』*』*n)

函式的呼叫

print_start(5)

第五天(學習筆記)

1.什麼是字典 dict.以 表示,沒一項用逗號隔開,內部元素用key value的形式來儲存資料.查詢的效率非常高,通過key來查詢元素 內部使用key來計算乙個記憶體位址 暫時 hash演算法.key必須是不可變的資料型別 key 必須是可雜湊的資料型別 可雜湊就是不可變 2.字典的增刪改查 1...

Python學習第五天

1 關於print,使用print方法列印多個表示式也是可行的 print age 12 age 12 2 別名,如果需要引用的方法名出現重複時可以使用別名 from math import sqrt as foobar 3 多個賦值操作可以同時進行 x,y,z 1,2,3 print x,y,z ...

第五天學習python

這其實也不是一天學習的,而是週末和周一一起的。週末學習了如何建立自己的module,記憶如何使用dir 函式。周一初步學習第九章。資料結構。python中主要有三種內建資料結構 列表,元組,字典。list是處理一組有序專案的資料結構,在每個專案中用逗號隔開。列表中的專案包括在方括號中,乙個列表建立之...